
libdce.so:     file format elf64-x86-64


Disassembly of section .init:

0000000000400c88 <_init>:
  400c88:	48 83 ec 08          	sub    $0x8,%rsp
  400c8c:	48 8b 05 45 43 20 00 	mov    0x204345(%rip),%rax        # 604fd8 <__gmon_start__>
  400c93:	48 85 c0             	test   %rax,%rax
  400c96:	74 02                	je     400c9a <_init+0x12>
  400c98:	ff d0                	callq  *%rax
  400c9a:	48 83 c4 08          	add    $0x8,%rsp
  400c9e:	c3                   	retq   

Disassembly of section .plt:

0000000000400ca0 <.plt>:
  400ca0:	ff 35 62 43 20 00    	pushq  0x204362(%rip)        # 605008 <_GLOBAL_OFFSET_TABLE_+0x8>
  400ca6:	ff 25 64 43 20 00    	jmpq   *0x204364(%rip)        # 605010 <_GLOBAL_OFFSET_TABLE_+0x10>
  400cac:	0f 1f 40 00          	nopl   0x0(%rax)

0000000000400cb0 <free@plt>:
  400cb0:	ff 25 62 43 20 00    	jmpq   *0x204362(%rip)        # 605018 <free@GLIBC_2.2.5>
  400cb6:	68 00 00 00 00       	pushq  $0x0
  400cbb:	e9 e0 ff ff ff       	jmpq   400ca0 <.plt>

0000000000400cc0 <putchar@plt>:
  400cc0:	ff 25 5a 43 20 00    	jmpq   *0x20435a(%rip)        # 605020 <putchar@GLIBC_2.2.5>
  400cc6:	68 01 00 00 00       	pushq  $0x1
  400ccb:	e9 d0 ff ff ff       	jmpq   400ca0 <.plt>

0000000000400cd0 <desinit@plt>:
  400cd0:	ff 25 52 43 20 00    	jmpq   *0x204352(%rip)        # 605028 <desinit@@Base+0x2040e8>
  400cd6:	68 02 00 00 00       	pushq  $0x2
  400cdb:	e9 c0 ff ff ff       	jmpq   400ca0 <.plt>

0000000000400ce0 <idea_decrypt@plt>:
  400ce0:	ff 25 4a 43 20 00    	jmpq   *0x20434a(%rip)        # 605030 <idea_decrypt@@Base+0x201420>
  400ce6:	68 03 00 00 00       	pushq  $0x3
  400ceb:	e9 b0 ff ff ff       	jmpq   400ca0 <.plt>

0000000000400cf0 <puts@plt>:
  400cf0:	ff 25 42 43 20 00    	jmpq   *0x204342(%rip)        # 605038 <puts@GLIBC_2.2.5>
  400cf6:	68 04 00 00 00       	pushq  $0x4
  400cfb:	e9 a0 ff ff ff       	jmpq   400ca0 <.plt>

0000000000400d00 <LZ4_wildCopy32@plt>:
  400d00:	ff 25 3a 43 20 00    	jmpq   *0x20433a(%rip)        # 605040 <LZ4_wildCopy32@@Base+0x202030>
  400d06:	68 05 00 00 00       	pushq  $0x5
  400d0b:	e9 90 ff ff ff       	jmpq   400ca0 <.plt>

0000000000400d10 <printf@plt>:
  400d10:	ff 25 32 43 20 00    	jmpq   *0x204332(%rip)        # 605048 <printf@GLIBC_2.2.5>
  400d16:	68 06 00 00 00       	pushq  $0x6
  400d1b:	e9 80 ff ff ff       	jmpq   400ca0 <.plt>

0000000000400d20 <__assert_fail@plt>:
  400d20:	ff 25 2a 43 20 00    	jmpq   *0x20432a(%rip)        # 605050 <__assert_fail@GLIBC_2.2.5>
  400d26:	68 07 00 00 00       	pushq  $0x7
  400d2b:	e9 70 ff ff ff       	jmpq   400ca0 <.plt>

0000000000400d30 <idea_ecb_encrypt@plt>:
  400d30:	ff 25 22 43 20 00    	jmpq   *0x204322(%rip)        # 605058 <idea_ecb_encrypt@@Base+0x2027c8>
  400d36:	68 08 00 00 00       	pushq  $0x8
  400d3b:	e9 60 ff ff ff       	jmpq   400ca0 <.plt>

0000000000400d40 <printData1@plt>:
  400d40:	ff 25 1a 43 20 00    	jmpq   *0x20431a(%rip)        # 605060 <printData1@@Base+0x2014f0>
  400d46:	68 09 00 00 00       	pushq  $0x9
  400d4b:	e9 50 ff ff ff       	jmpq   400ca0 <.plt>

0000000000400d50 <dessetkey@plt>:
  400d50:	ff 25 12 43 20 00    	jmpq   *0x204312(%rip)        # 605068 <dessetkey@@Base+0x203788>
  400d56:	68 0a 00 00 00       	pushq  $0xa
  400d5b:	e9 40 ff ff ff       	jmpq   400ca0 <.plt>

0000000000400d60 <malloc@plt>:
  400d60:	ff 25 0a 43 20 00    	jmpq   *0x20430a(%rip)        # 605070 <malloc@GLIBC_2.2.5>
  400d66:	68 0b 00 00 00       	pushq  $0xb
  400d6b:	e9 30 ff ff ff       	jmpq   400ca0 <.plt>

0000000000400d70 <LZ4_wildCopy8@plt>:
  400d70:	ff 25 02 43 20 00    	jmpq   *0x204302(%rip)        # 605078 <LZ4_wildCopy8@@Base+0x202088>
  400d76:	68 0c 00 00 00       	pushq  $0xc
  400d7b:	e9 20 ff ff ff       	jmpq   400ca0 <.plt>

0000000000400d80 <read_variable_length@plt>:
  400d80:	ff 25 fa 42 20 00    	jmpq   *0x2042fa(%rip)        # 605080 <read_variable_length@@Base+0x2020f0>
  400d86:	68 0d 00 00 00       	pushq  $0xd
  400d8b:	e9 10 ff ff ff       	jmpq   400ca0 <.plt>

0000000000400d90 <LZ4_write32@plt>:
  400d90:	ff 25 f2 42 20 00    	jmpq   *0x2042f2(%rip)        # 605088 <LZ4_write32@@Base+0x202108>
  400d96:	68 0e 00 00 00       	pushq  $0xe
  400d9b:	e9 00 ff ff ff       	jmpq   400ca0 <.plt>

0000000000400da0 <endes@plt>:
  400da0:	ff 25 ea 42 20 00    	jmpq   *0x2042ea(%rip)        # 605090 <endes@@Base+0x203650>
  400da6:	68 0f 00 00 00       	pushq  $0xf
  400dab:	e9 f0 fe ff ff       	jmpq   400ca0 <.plt>

0000000000400db0 <idea_set_encrypt_key@plt>:
  400db0:	ff 25 e2 42 20 00    	jmpq   *0x2042e2(%rip)        # 605098 <idea_set_encrypt_key@@Base+0x2027a8>
  400db6:	68 10 00 00 00       	pushq  $0x10
  400dbb:	e9 e0 fe ff ff       	jmpq   400ca0 <.plt>

0000000000400dc0 <lz4_decompress@plt>:
  400dc0:	ff 25 da 42 20 00    	jmpq   *0x2042da(%rip)        # 6050a0 <lz4_decompress@@Base+0x201f00>
  400dc6:	68 11 00 00 00       	pushq  $0x11
  400dcb:	e9 d0 fe ff ff       	jmpq   400ca0 <.plt>

0000000000400dd0 <LZ4_readLE16@plt>:
  400dd0:	ff 25 d2 42 20 00    	jmpq   *0x2042d2(%rip)        # 6050a8 <LZ4_readLE16@@Base+0x202138>
  400dd6:	68 12 00 00 00       	pushq  $0x12
  400ddb:	e9 c0 fe ff ff       	jmpq   400ca0 <.plt>

0000000000400de0 <memmove@plt>:
  400de0:	ff 25 ca 42 20 00    	jmpq   *0x2042ca(%rip)        # 6050b0 <memmove@GLIBC_2.2.5>
  400de6:	68 13 00 00 00       	pushq  $0x13
  400deb:	e9 b0 fe ff ff       	jmpq   400ca0 <.plt>

0000000000400df0 <gen_passkey@plt>:
  400df0:	ff 25 c2 42 20 00    	jmpq   *0x2042c2(%rip)        # 6050b8 <gen_passkey@@Base+0x201438>
  400df6:	68 14 00 00 00       	pushq  $0x14
  400dfb:	e9 a0 fe ff ff       	jmpq   400ca0 <.plt>

0000000000400e00 <LZ4_memcpy_using_offset@plt>:
  400e00:	ff 25 ba 42 20 00    	jmpq   *0x2042ba(%rip)        # 6050c0 <LZ4_memcpy_using_offset@@Base+0x201fd0>
  400e06:	68 15 00 00 00       	pushq  $0x15
  400e0b:	e9 90 fe ff ff       	jmpq   400ca0 <.plt>

0000000000400e10 <sprintf@plt>:
  400e10:	ff 25 b2 42 20 00    	jmpq   *0x2042b2(%rip)        # 6050c8 <sprintf@GLIBC_2.2.5>
  400e16:	68 16 00 00 00       	pushq  $0x16
  400e1b:	e9 80 fe ff ff       	jmpq   400ca0 <.plt>

0000000000400e20 <idea_encrypt@plt>:
  400e20:	ff 25 aa 42 20 00    	jmpq   *0x2042aa(%rip)        # 6050d0 <idea_encrypt@@Base+0x203280>
  400e26:	68 17 00 00 00       	pushq  $0x17
  400e2b:	e9 70 fe ff ff       	jmpq   400ca0 <.plt>

0000000000400e30 <LZ4_memcpy_using_offset_base@plt>:
  400e30:	ff 25 a2 42 20 00    	jmpq   *0x2042a2(%rip)        # 6050d8 <LZ4_memcpy_using_offset_base@@Base+0x2020a8>
  400e36:	68 18 00 00 00       	pushq  $0x18
  400e3b:	e9 60 fe ff ff       	jmpq   400ca0 <.plt>

0000000000400e40 <idea_set_decrypt_key@plt>:
  400e40:	ff 25 9a 42 20 00    	jmpq   *0x20429a(%rip)        # 6050e0 <idea_set_decrypt_key@@Base+0x202320>
  400e46:	68 19 00 00 00       	pushq  $0x19
  400e4b:	e9 50 fe ff ff       	jmpq   400ca0 <.plt>

Disassembly of section .plt.got:

0000000000400e50 <__cxa_finalize@plt>:
  400e50:	ff 25 a2 41 20 00    	jmpq   *0x2041a2(%rip)        # 604ff8 <__cxa_finalize@GLIBC_2.2.5>
  400e56:	66 90                	xchg   %ax,%ax

Disassembly of section .text:

0000000000400e60 <deregister_tm_clones>:
  400e60:	48 8d 3d f9 42 20 00 	lea    0x2042f9(%rip),%rdi        # 605160 <_edata>
  400e67:	55                   	push   %rbp
  400e68:	48 8d 05 f1 42 20 00 	lea    0x2042f1(%rip),%rax        # 605160 <_edata>
  400e6f:	48 39 f8             	cmp    %rdi,%rax
  400e72:	48 89 e5             	mov    %rsp,%rbp
  400e75:	74 19                	je     400e90 <deregister_tm_clones+0x30>
  400e77:	48 8b 05 52 41 20 00 	mov    0x204152(%rip),%rax        # 604fd0 <_ITM_deregisterTMCloneTable>
  400e7e:	48 85 c0             	test   %rax,%rax
  400e81:	74 0d                	je     400e90 <deregister_tm_clones+0x30>
  400e83:	5d                   	pop    %rbp
  400e84:	ff e0                	jmpq   *%rax
  400e86:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
  400e8d:	00 00 00 
  400e90:	5d                   	pop    %rbp
  400e91:	c3                   	retq   
  400e92:	0f 1f 40 00          	nopl   0x0(%rax)
  400e96:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
  400e9d:	00 00 00 

0000000000400ea0 <register_tm_clones>:
  400ea0:	48 8d 3d b9 42 20 00 	lea    0x2042b9(%rip),%rdi        # 605160 <_edata>
  400ea7:	48 8d 35 b2 42 20 00 	lea    0x2042b2(%rip),%rsi        # 605160 <_edata>
  400eae:	55                   	push   %rbp
  400eaf:	48 29 fe             	sub    %rdi,%rsi
  400eb2:	48 89 e5             	mov    %rsp,%rbp
  400eb5:	48 c1 fe 03          	sar    $0x3,%rsi
  400eb9:	48 89 f0             	mov    %rsi,%rax
  400ebc:	48 c1 e8 3f          	shr    $0x3f,%rax
  400ec0:	48 01 c6             	add    %rax,%rsi
  400ec3:	48 d1 fe             	sar    %rsi
  400ec6:	74 18                	je     400ee0 <register_tm_clones+0x40>
  400ec8:	48 8b 05 21 41 20 00 	mov    0x204121(%rip),%rax        # 604ff0 <_ITM_registerTMCloneTable>
  400ecf:	48 85 c0             	test   %rax,%rax
  400ed2:	74 0c                	je     400ee0 <register_tm_clones+0x40>
  400ed4:	5d                   	pop    %rbp
  400ed5:	ff e0                	jmpq   *%rax
  400ed7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
  400ede:	00 00 
  400ee0:	5d                   	pop    %rbp
  400ee1:	c3                   	retq   
  400ee2:	0f 1f 40 00          	nopl   0x0(%rax)
  400ee6:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
  400eed:	00 00 00 

0000000000400ef0 <__do_global_dtors_aux>:
  400ef0:	80 3d 69 42 20 00 00 	cmpb   $0x0,0x204269(%rip)        # 605160 <_edata>
  400ef7:	75 2f                	jne    400f28 <__do_global_dtors_aux+0x38>
  400ef9:	48 83 3d f7 40 20 00 	cmpq   $0x0,0x2040f7(%rip)        # 604ff8 <__cxa_finalize@GLIBC_2.2.5>
  400f00:	00 
  400f01:	55                   	push   %rbp
  400f02:	48 89 e5             	mov    %rsp,%rbp
  400f05:	74 0c                	je     400f13 <__do_global_dtors_aux+0x23>
  400f07:	48 8b 3d f2 41 20 00 	mov    0x2041f2(%rip),%rdi        # 605100 <__dso_handle>
  400f0e:	e8 3d ff ff ff       	callq  400e50 <__cxa_finalize@plt>
  400f13:	e8 48 ff ff ff       	callq  400e60 <deregister_tm_clones>
  400f18:	c6 05 41 42 20 00 01 	movb   $0x1,0x204241(%rip)        # 605160 <_edata>
  400f1f:	5d                   	pop    %rbp
  400f20:	c3                   	retq   
  400f21:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  400f28:	f3 c3                	repz retq 
  400f2a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)

0000000000400f30 <frame_dummy>:
  400f30:	55                   	push   %rbp
  400f31:	48 89 e5             	mov    %rsp,%rbp
  400f34:	5d                   	pop    %rbp
  400f35:	e9 66 ff ff ff       	jmpq   400ea0 <register_tm_clones>
  400f3a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)

0000000000400f40 <desinit>:
  400f40:	48 83 3d 30 42 20 00 	cmpq   $0x0,0x204230(%rip)        # 605178 <sp>
  400f47:	00 
  400f48:	74 03                	je     400f4d <desinit+0xd>
  400f4a:	31 c0                	xor    %eax,%eax
  400f4c:	c3                   	retq   
  400f4d:	41 56                	push   %r14
  400f4f:	41 55                	push   %r13
  400f51:	bf 00 08 00 00       	mov    $0x800,%edi
  400f56:	41 54                	push   %r12
  400f58:	55                   	push   %rbp
  400f59:	53                   	push   %rbx
  400f5a:	48 83 ec 20          	sub    $0x20,%rsp
  400f5e:	e8 fd fd ff ff       	callq  400d60 <malloc@plt>
  400f63:	48 85 c0             	test   %rax,%rax
  400f66:	48 89 c3             	mov    %rax,%rbx
  400f69:	48 89 05 08 42 20 00 	mov    %rax,0x204208(%rip)        # 605178 <sp>
  400f70:	0f 84 36 09 00 00    	je     4018ac <desinit+0x96c>
  400f76:	48 8d 0d c3 30 00 00 	lea    0x30c3(%rip),%rcx        # 404040 <p32i>
  400f7d:	45 31 c0             	xor    %r8d,%r8d
  400f80:	48 89 e6             	mov    %rsp,%rsi
  400f83:	44 89 c7             	mov    %r8d,%edi
  400f86:	31 d2                	xor    %edx,%edx
  400f88:	eb 10                	jmp    400f9a <desinit+0x5a>
  400f8a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
  400f90:	48 83 c2 01          	add    $0x1,%rdx
  400f94:	48 83 fa 20          	cmp    $0x20,%rdx
  400f98:	74 0f                	je     400fa9 <desinit+0x69>
  400f9a:	0f be 04 11          	movsbl (%rcx,%rdx,1),%eax
  400f9e:	83 e8 01             	sub    $0x1,%eax
  400fa1:	39 f8                	cmp    %edi,%eax
  400fa3:	75 eb                	jne    400f90 <desinit+0x50>
  400fa5:	41 88 14 30          	mov    %dl,(%r8,%rsi,1)
  400fa9:	49 83 c0 01          	add    $0x1,%r8
  400fad:	49 83 f8 20          	cmp    $0x20,%r8
  400fb1:	75 d0                	jne    400f83 <desinit+0x43>
  400fb3:	4c 8d 25 a6 30 00 00 	lea    0x30a6(%rip),%r12        # 404060 <si>
  400fba:	49 89 da             	mov    %rbx,%r10
  400fbd:	b8 0e 00 00 00       	mov    $0xe,%eax
  400fc2:	45 31 db             	xor    %r11d,%r11d
  400fc5:	41 b8 1f 00 00 00    	mov    $0x1f,%r8d
  400fcb:	bf 01 00 00 00       	mov    $0x1,%edi
  400fd0:	4c 89 e5             	mov    %r12,%rbp
  400fd3:	4d 63 cb             	movslq %r11d,%r9
  400fd6:	ba 01 00 00 00       	mov    $0x1,%edx
  400fdb:	49 c1 e1 06          	shl    $0x6,%r9
  400fdf:	4d 01 e1             	add    %r12,%r9
  400fe2:	eb 41                	jmp    401025 <desinit+0xe5>
  400fe4:	0f 1f 40 00          	nopl   0x0(%rax)
  400fe8:	44 89 c1             	mov    %r8d,%ecx
  400feb:	2a 4e 03             	sub    0x3(%rsi),%cl
  400fee:	48 89 f8             	mov    %rdi,%rax
  400ff1:	48 d3 e0             	shl    %cl,%rax
  400ff4:	89 d1                	mov    %edx,%ecx
  400ff6:	41 09 c5             	or     %eax,%r13d
  400ff9:	48 83 fa 40          	cmp    $0x40,%rdx
  400ffd:	45 89 6c 92 fc       	mov    %r13d,-0x4(%r10,%rdx,4)
  401002:	74 6a                	je     40106e <desinit+0x12e>
  401004:	89 c8                	mov    %ecx,%eax
  401006:	83 e1 20             	and    $0x20,%ecx
  401009:	d1 f8                	sar    %eax
  40100b:	83 e0 0f             	and    $0xf,%eax
  40100e:	09 c8                	or     %ecx,%eax
  401010:	89 d1                	mov    %edx,%ecx
  401012:	48 83 c2 01          	add    $0x1,%rdx
  401016:	c1 e1 04             	shl    $0x4,%ecx
  401019:	83 e1 10             	and    $0x10,%ecx
  40101c:	09 c8                	or     %ecx,%eax
  40101e:	48 98                	cltq   
  401020:	41 0f b6 04 01       	movzbl (%r9,%rax,1),%eax
  401025:	45 31 ed             	xor    %r13d,%r13d
  401028:	a8 08                	test   $0x8,%al
  40102a:	74 0b                	je     401037 <desinit+0xf7>
  40102c:	44 89 c1             	mov    %r8d,%ecx
  40102f:	2a 0e                	sub    (%rsi),%cl
  401031:	49 89 fd             	mov    %rdi,%r13
  401034:	49 d3 e5             	shl    %cl,%r13
  401037:	a8 04                	test   $0x4,%al
  401039:	74 0f                	je     40104a <desinit+0x10a>
  40103b:	44 89 c1             	mov    %r8d,%ecx
  40103e:	2a 4e 01             	sub    0x1(%rsi),%cl
  401041:	49 89 fe             	mov    %rdi,%r14
  401044:	49 d3 e6             	shl    %cl,%r14
  401047:	45 09 f5             	or     %r14d,%r13d
  40104a:	a8 02                	test   $0x2,%al
  40104c:	74 0f                	je     40105d <desinit+0x11d>
  40104e:	44 89 c1             	mov    %r8d,%ecx
  401051:	2a 4e 02             	sub    0x2(%rsi),%cl
  401054:	49 89 fe             	mov    %rdi,%r14
  401057:	49 d3 e6             	shl    %cl,%r14
  40105a:	45 09 f5             	or     %r14d,%r13d
  40105d:	a8 01                	test   $0x1,%al
  40105f:	75 87                	jne    400fe8 <desinit+0xa8>
  401061:	48 83 fa 40          	cmp    $0x40,%rdx
  401065:	45 89 6c 92 fc       	mov    %r13d,-0x4(%r10,%rdx,4)
  40106a:	89 d1                	mov    %edx,%ecx
  40106c:	75 96                	jne    401004 <desinit+0xc4>
  40106e:	41 83 c3 01          	add    $0x1,%r11d
  401072:	48 83 c5 40          	add    $0x40,%rbp
  401076:	49 81 c2 00 01 00 00 	add    $0x100,%r10
  40107d:	48 83 c6 04          	add    $0x4,%rsi
  401081:	41 83 fb 08          	cmp    $0x8,%r11d
  401085:	74 09                	je     401090 <desinit+0x150>
  401087:	0f b6 45 00          	movzbl 0x0(%rbp),%eax
  40108b:	e9 43 ff ff ff       	jmpq   400fd3 <desinit+0x93>
  401090:	bf 00 08 00 00       	mov    $0x800,%edi
  401095:	e8 c6 fc ff ff       	callq  400d60 <malloc@plt>
  40109a:	48 85 c0             	test   %rax,%rax
  40109d:	48 89 c5             	mov    %rax,%rbp
  4010a0:	48 89 05 c9 40 20 00 	mov    %rax,0x2040c9(%rip)        # 605170 <iperm>
  4010a7:	0f 84 19 08 00 00    	je     4018c6 <desinit+0x986>
  4010ad:	66 0f ef c0          	pxor   %xmm0,%xmm0
  4010b1:	48 8d 3d 68 32 00 00 	lea    0x3268(%rip),%rdi        # 404320 <ip>
  4010b8:	4c 8d 15 41 2f 00 00 	lea    0x2f41(%rip),%r10        # 404000 <nibblebit>
  4010bf:	4c 8d 1d 5a 2f 00 00 	lea    0x2f5a(%rip),%r11        # 404020 <bytebit>
  4010c6:	49 89 c4             	mov    %rax,%r12
  4010c9:	31 f6                	xor    %esi,%esi
  4010cb:	0f 11 00             	movups %xmm0,(%rax)
  4010ce:	0f 11 40 10          	movups %xmm0,0x10(%rax)
  4010d2:	0f 11 40 20          	movups %xmm0,0x20(%rax)
  4010d6:	0f 11 40 30          	movups %xmm0,0x30(%rax)
  4010da:	0f 11 40 40          	movups %xmm0,0x40(%rax)
  4010de:	0f 11 40 50          	movups %xmm0,0x50(%rax)
  4010e2:	0f 11 40 60          	movups %xmm0,0x60(%rax)
  4010e6:	0f 11 40 70          	movups %xmm0,0x70(%rax)
  4010ea:	0f 11 80 80 00 00 00 	movups %xmm0,0x80(%rax)
  4010f1:	0f 11 80 90 00 00 00 	movups %xmm0,0x90(%rax)
  4010f8:	0f 11 80 a0 00 00 00 	movups %xmm0,0xa0(%rax)
  4010ff:	0f 11 80 b0 00 00 00 	movups %xmm0,0xb0(%rax)
  401106:	0f 11 80 c0 00 00 00 	movups %xmm0,0xc0(%rax)
  40110d:	0f 11 80 d0 00 00 00 	movups %xmm0,0xd0(%rax)
  401114:	0f 11 80 e0 00 00 00 	movups %xmm0,0xe0(%rax)
  40111b:	0f 11 80 f0 00 00 00 	movups %xmm0,0xf0(%rax)
  401122:	0f 11 80 00 01 00 00 	movups %xmm0,0x100(%rax)
  401129:	0f 11 80 10 01 00 00 	movups %xmm0,0x110(%rax)
  401130:	0f 11 80 20 01 00 00 	movups %xmm0,0x120(%rax)
  401137:	0f 11 80 30 01 00 00 	movups %xmm0,0x130(%rax)
  40113e:	0f 11 80 40 01 00 00 	movups %xmm0,0x140(%rax)
  401145:	0f 11 80 50 01 00 00 	movups %xmm0,0x150(%rax)
  40114c:	0f 11 80 60 01 00 00 	movups %xmm0,0x160(%rax)
  401153:	0f 11 80 70 01 00 00 	movups %xmm0,0x170(%rax)
  40115a:	0f 11 80 80 01 00 00 	movups %xmm0,0x180(%rax)
  401161:	0f 11 80 90 01 00 00 	movups %xmm0,0x190(%rax)
  401168:	0f 11 80 a0 01 00 00 	movups %xmm0,0x1a0(%rax)
  40116f:	0f 11 80 b0 01 00 00 	movups %xmm0,0x1b0(%rax)
  401176:	0f 11 80 c0 01 00 00 	movups %xmm0,0x1c0(%rax)
  40117d:	0f 11 80 d0 01 00 00 	movups %xmm0,0x1d0(%rax)
  401184:	0f 11 80 e0 01 00 00 	movups %xmm0,0x1e0(%rax)
  40118b:	0f 11 80 f0 01 00 00 	movups %xmm0,0x1f0(%rax)
  401192:	0f 11 80 00 02 00 00 	movups %xmm0,0x200(%rax)
  401199:	0f 11 80 10 02 00 00 	movups %xmm0,0x210(%rax)
  4011a0:	0f 11 80 20 02 00 00 	movups %xmm0,0x220(%rax)
  4011a7:	0f 11 80 30 02 00 00 	movups %xmm0,0x230(%rax)
  4011ae:	0f 11 80 40 02 00 00 	movups %xmm0,0x240(%rax)
  4011b5:	0f 11 80 50 02 00 00 	movups %xmm0,0x250(%rax)
  4011bc:	0f 11 80 60 02 00 00 	movups %xmm0,0x260(%rax)
  4011c3:	0f 11 80 70 02 00 00 	movups %xmm0,0x270(%rax)
  4011ca:	0f 11 80 80 02 00 00 	movups %xmm0,0x280(%rax)
  4011d1:	0f 11 80 90 02 00 00 	movups %xmm0,0x290(%rax)
  4011d8:	0f 11 80 a0 02 00 00 	movups %xmm0,0x2a0(%rax)
  4011df:	0f 11 80 b0 02 00 00 	movups %xmm0,0x2b0(%rax)
  4011e6:	0f 11 80 c0 02 00 00 	movups %xmm0,0x2c0(%rax)
  4011ed:	0f 11 80 d0 02 00 00 	movups %xmm0,0x2d0(%rax)
  4011f4:	0f 11 80 e0 02 00 00 	movups %xmm0,0x2e0(%rax)
  4011fb:	0f 11 80 f0 02 00 00 	movups %xmm0,0x2f0(%rax)
  401202:	0f 11 80 00 03 00 00 	movups %xmm0,0x300(%rax)
  401209:	0f 11 80 10 03 00 00 	movups %xmm0,0x310(%rax)
  401210:	0f 11 80 20 03 00 00 	movups %xmm0,0x320(%rax)
  401217:	0f 11 80 30 03 00 00 	movups %xmm0,0x330(%rax)
  40121e:	0f 11 80 40 03 00 00 	movups %xmm0,0x340(%rax)
  401225:	0f 11 80 50 03 00 00 	movups %xmm0,0x350(%rax)
  40122c:	0f 11 80 60 03 00 00 	movups %xmm0,0x360(%rax)
  401233:	0f 11 80 70 03 00 00 	movups %xmm0,0x370(%rax)
  40123a:	0f 11 80 80 03 00 00 	movups %xmm0,0x380(%rax)
  401241:	0f 11 80 90 03 00 00 	movups %xmm0,0x390(%rax)
  401248:	0f 11 80 a0 03 00 00 	movups %xmm0,0x3a0(%rax)
  40124f:	0f 11 80 b0 03 00 00 	movups %xmm0,0x3b0(%rax)
  401256:	0f 11 80 c0 03 00 00 	movups %xmm0,0x3c0(%rax)
  40125d:	0f 11 80 d0 03 00 00 	movups %xmm0,0x3d0(%rax)
  401264:	0f 11 80 e0 03 00 00 	movups %xmm0,0x3e0(%rax)
  40126b:	0f 11 80 f0 03 00 00 	movups %xmm0,0x3f0(%rax)
  401272:	0f 11 80 00 04 00 00 	movups %xmm0,0x400(%rax)
  401279:	0f 11 80 10 04 00 00 	movups %xmm0,0x410(%rax)
  401280:	0f 11 80 20 04 00 00 	movups %xmm0,0x420(%rax)
  401287:	0f 11 80 30 04 00 00 	movups %xmm0,0x430(%rax)
  40128e:	0f 11 80 40 04 00 00 	movups %xmm0,0x440(%rax)
  401295:	0f 11 80 50 04 00 00 	movups %xmm0,0x450(%rax)
  40129c:	0f 11 80 60 04 00 00 	movups %xmm0,0x460(%rax)
  4012a3:	0f 11 80 70 04 00 00 	movups %xmm0,0x470(%rax)
  4012aa:	0f 11 80 80 04 00 00 	movups %xmm0,0x480(%rax)
  4012b1:	0f 11 80 90 04 00 00 	movups %xmm0,0x490(%rax)
  4012b8:	0f 11 80 a0 04 00 00 	movups %xmm0,0x4a0(%rax)
  4012bf:	0f 11 80 b0 04 00 00 	movups %xmm0,0x4b0(%rax)
  4012c6:	0f 11 80 c0 04 00 00 	movups %xmm0,0x4c0(%rax)
  4012cd:	0f 11 80 d0 04 00 00 	movups %xmm0,0x4d0(%rax)
  4012d4:	0f 11 80 e0 04 00 00 	movups %xmm0,0x4e0(%rax)
  4012db:	0f 11 80 f0 04 00 00 	movups %xmm0,0x4f0(%rax)
  4012e2:	0f 11 80 00 05 00 00 	movups %xmm0,0x500(%rax)
  4012e9:	0f 11 80 10 05 00 00 	movups %xmm0,0x510(%rax)
  4012f0:	0f 11 80 20 05 00 00 	movups %xmm0,0x520(%rax)
  4012f7:	0f 11 80 30 05 00 00 	movups %xmm0,0x530(%rax)
  4012fe:	0f 11 80 40 05 00 00 	movups %xmm0,0x540(%rax)
  401305:	0f 11 80 50 05 00 00 	movups %xmm0,0x550(%rax)
  40130c:	0f 11 80 60 05 00 00 	movups %xmm0,0x560(%rax)
  401313:	0f 11 80 70 05 00 00 	movups %xmm0,0x570(%rax)
  40131a:	0f 11 80 80 05 00 00 	movups %xmm0,0x580(%rax)
  401321:	0f 11 80 90 05 00 00 	movups %xmm0,0x590(%rax)
  401328:	0f 11 80 a0 05 00 00 	movups %xmm0,0x5a0(%rax)
  40132f:	0f 11 80 b0 05 00 00 	movups %xmm0,0x5b0(%rax)
  401336:	0f 11 80 c0 05 00 00 	movups %xmm0,0x5c0(%rax)
  40133d:	0f 11 80 d0 05 00 00 	movups %xmm0,0x5d0(%rax)
  401344:	0f 11 80 e0 05 00 00 	movups %xmm0,0x5e0(%rax)
  40134b:	0f 11 80 f0 05 00 00 	movups %xmm0,0x5f0(%rax)
  401352:	0f 11 80 00 06 00 00 	movups %xmm0,0x600(%rax)
  401359:	0f 11 80 10 06 00 00 	movups %xmm0,0x610(%rax)
  401360:	0f 11 80 20 06 00 00 	movups %xmm0,0x620(%rax)
  401367:	0f 11 80 30 06 00 00 	movups %xmm0,0x630(%rax)
  40136e:	0f 11 80 40 06 00 00 	movups %xmm0,0x640(%rax)
  401375:	0f 11 80 50 06 00 00 	movups %xmm0,0x650(%rax)
  40137c:	0f 11 80 60 06 00 00 	movups %xmm0,0x660(%rax)
  401383:	0f 11 80 70 06 00 00 	movups %xmm0,0x670(%rax)
  40138a:	0f 11 80 80 06 00 00 	movups %xmm0,0x680(%rax)
  401391:	0f 11 80 90 06 00 00 	movups %xmm0,0x690(%rax)
  401398:	0f 11 80 a0 06 00 00 	movups %xmm0,0x6a0(%rax)
  40139f:	0f 11 80 b0 06 00 00 	movups %xmm0,0x6b0(%rax)
  4013a6:	0f 11 80 c0 06 00 00 	movups %xmm0,0x6c0(%rax)
  4013ad:	0f 11 80 d0 06 00 00 	movups %xmm0,0x6d0(%rax)
  4013b4:	0f 11 80 e0 06 00 00 	movups %xmm0,0x6e0(%rax)
  4013bb:	0f 11 80 f0 06 00 00 	movups %xmm0,0x6f0(%rax)
  4013c2:	0f 11 80 00 07 00 00 	movups %xmm0,0x700(%rax)
  4013c9:	0f 11 80 10 07 00 00 	movups %xmm0,0x710(%rax)
  4013d0:	0f 11 80 20 07 00 00 	movups %xmm0,0x720(%rax)
  4013d7:	0f 11 80 30 07 00 00 	movups %xmm0,0x730(%rax)
  4013de:	0f 11 80 40 07 00 00 	movups %xmm0,0x740(%rax)
  4013e5:	0f 11 80 50 07 00 00 	movups %xmm0,0x750(%rax)
  4013ec:	0f 11 80 60 07 00 00 	movups %xmm0,0x760(%rax)
  4013f3:	0f 11 80 70 07 00 00 	movups %xmm0,0x770(%rax)
  4013fa:	0f 11 80 80 07 00 00 	movups %xmm0,0x780(%rax)
  401401:	0f 11 80 90 07 00 00 	movups %xmm0,0x790(%rax)
  401408:	0f 11 80 a0 07 00 00 	movups %xmm0,0x7a0(%rax)
  40140f:	0f 11 80 b0 07 00 00 	movups %xmm0,0x7b0(%rax)
  401416:	0f 11 80 c0 07 00 00 	movups %xmm0,0x7c0(%rax)
  40141d:	0f 11 80 d0 07 00 00 	movups %xmm0,0x7d0(%rax)
  401424:	0f 11 80 e0 07 00 00 	movups %xmm0,0x7e0(%rax)
  40142b:	0f 11 80 f0 07 00 00 	movups %xmm0,0x7f0(%rax)
  401432:	45 31 c9             	xor    %r9d,%r9d
  401435:	0f 1f 00             	nopl   (%rax)
  401438:	49 63 c1             	movslq %r9d,%rax
  40143b:	31 d2                	xor    %edx,%edx
  40143d:	4d 8d 04 c4          	lea    (%r12,%rax,8),%r8
  401441:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  401448:	0f be 04 17          	movsbl (%rdi,%rdx,1),%eax
  40144c:	89 d1                	mov    %edx,%ecx
  40144e:	83 e8 01             	sub    $0x1,%eax
  401451:	41 89 c5             	mov    %eax,%r13d
  401454:	41 c1 fd 02          	sar    $0x2,%r13d
  401458:	41 39 f5             	cmp    %esi,%r13d
  40145b:	75 1b                	jne    401478 <desinit+0x538>
  40145d:	83 e0 03             	and    $0x3,%eax
  401460:	45 85 0c 82          	test   %r9d,(%r10,%rax,4)
  401464:	74 12                	je     401478 <desinit+0x538>
  401466:	89 d0                	mov    %edx,%eax
  401468:	83 e1 07             	and    $0x7,%ecx
  40146b:	c1 f8 03             	sar    $0x3,%eax
  40146e:	41 8b 0c 8b          	mov    (%r11,%rcx,4),%ecx
  401472:	48 98                	cltq   
  401474:	41 08 0c 00          	or     %cl,(%r8,%rax,1)
  401478:	48 83 c2 01          	add    $0x1,%rdx
  40147c:	48 83 fa 40          	cmp    $0x40,%rdx
  401480:	75 c6                	jne    401448 <desinit+0x508>
  401482:	41 83 c1 01          	add    $0x1,%r9d
  401486:	41 83 f9 10          	cmp    $0x10,%r9d
  40148a:	75 ac                	jne    401438 <desinit+0x4f8>
  40148c:	83 c6 01             	add    $0x1,%esi
  40148f:	49 83 ec 80          	sub    $0xffffffffffffff80,%r12
  401493:	83 fe 10             	cmp    $0x10,%esi
  401496:	75 9a                	jne    401432 <desinit+0x4f2>
  401498:	bf 00 08 00 00       	mov    $0x800,%edi
  40149d:	e8 be f8 ff ff       	callq  400d60 <malloc@plt>
  4014a2:	48 85 c0             	test   %rax,%rax
  4014a5:	48 89 05 bc 3c 20 00 	mov    %rax,0x203cbc(%rip)        # 605168 <fperm>
  4014ac:	0f 84 ff 03 00 00    	je     4018b1 <desinit+0x971>
  4014b2:	66 0f ef c0          	pxor   %xmm0,%xmm0
  4014b6:	4c 8d 05 23 2e 00 00 	lea    0x2e23(%rip),%r8        # 4042e0 <fp>
  4014bd:	4c 8d 1d 3c 2b 00 00 	lea    0x2b3c(%rip),%r11        # 404000 <nibblebit>
  4014c4:	48 8d 1d 55 2b 00 00 	lea    0x2b55(%rip),%rbx        # 404020 <bytebit>
  4014cb:	48 89 c5             	mov    %rax,%rbp
  4014ce:	31 ff                	xor    %edi,%edi
  4014d0:	0f 11 00             	movups %xmm0,(%rax)
  4014d3:	0f 11 40 10          	movups %xmm0,0x10(%rax)
  4014d7:	0f 11 40 20          	movups %xmm0,0x20(%rax)
  4014db:	0f 11 40 30          	movups %xmm0,0x30(%rax)
  4014df:	0f 11 40 40          	movups %xmm0,0x40(%rax)
  4014e3:	0f 11 40 50          	movups %xmm0,0x50(%rax)
  4014e7:	0f 11 40 60          	movups %xmm0,0x60(%rax)
  4014eb:	0f 11 40 70          	movups %xmm0,0x70(%rax)
  4014ef:	0f 11 80 80 00 00 00 	movups %xmm0,0x80(%rax)
  4014f6:	0f 11 80 90 00 00 00 	movups %xmm0,0x90(%rax)
  4014fd:	0f 11 80 a0 00 00 00 	movups %xmm0,0xa0(%rax)
  401504:	0f 11 80 b0 00 00 00 	movups %xmm0,0xb0(%rax)
  40150b:	0f 11 80 c0 00 00 00 	movups %xmm0,0xc0(%rax)
  401512:	0f 11 80 d0 00 00 00 	movups %xmm0,0xd0(%rax)
  401519:	0f 11 80 e0 00 00 00 	movups %xmm0,0xe0(%rax)
  401520:	0f 11 80 f0 00 00 00 	movups %xmm0,0xf0(%rax)
  401527:	0f 11 80 00 01 00 00 	movups %xmm0,0x100(%rax)
  40152e:	0f 11 80 10 01 00 00 	movups %xmm0,0x110(%rax)
  401535:	0f 11 80 20 01 00 00 	movups %xmm0,0x120(%rax)
  40153c:	0f 11 80 30 01 00 00 	movups %xmm0,0x130(%rax)
  401543:	0f 11 80 40 01 00 00 	movups %xmm0,0x140(%rax)
  40154a:	0f 11 80 50 01 00 00 	movups %xmm0,0x150(%rax)
  401551:	0f 11 80 60 01 00 00 	movups %xmm0,0x160(%rax)
  401558:	0f 11 80 70 01 00 00 	movups %xmm0,0x170(%rax)
  40155f:	0f 11 80 80 01 00 00 	movups %xmm0,0x180(%rax)
  401566:	0f 11 80 90 01 00 00 	movups %xmm0,0x190(%rax)
  40156d:	0f 11 80 a0 01 00 00 	movups %xmm0,0x1a0(%rax)
  401574:	0f 11 80 b0 01 00 00 	movups %xmm0,0x1b0(%rax)
  40157b:	0f 11 80 c0 01 00 00 	movups %xmm0,0x1c0(%rax)
  401582:	0f 11 80 d0 01 00 00 	movups %xmm0,0x1d0(%rax)
  401589:	0f 11 80 e0 01 00 00 	movups %xmm0,0x1e0(%rax)
  401590:	0f 11 80 f0 01 00 00 	movups %xmm0,0x1f0(%rax)
  401597:	0f 11 80 00 02 00 00 	movups %xmm0,0x200(%rax)
  40159e:	0f 11 80 10 02 00 00 	movups %xmm0,0x210(%rax)
  4015a5:	0f 11 80 20 02 00 00 	movups %xmm0,0x220(%rax)
  4015ac:	0f 11 80 30 02 00 00 	movups %xmm0,0x230(%rax)
  4015b3:	0f 11 80 40 02 00 00 	movups %xmm0,0x240(%rax)
  4015ba:	0f 11 80 50 02 00 00 	movups %xmm0,0x250(%rax)
  4015c1:	0f 11 80 60 02 00 00 	movups %xmm0,0x260(%rax)
  4015c8:	0f 11 80 70 02 00 00 	movups %xmm0,0x270(%rax)
  4015cf:	0f 11 80 80 02 00 00 	movups %xmm0,0x280(%rax)
  4015d6:	0f 11 80 90 02 00 00 	movups %xmm0,0x290(%rax)
  4015dd:	0f 11 80 a0 02 00 00 	movups %xmm0,0x2a0(%rax)
  4015e4:	0f 11 80 b0 02 00 00 	movups %xmm0,0x2b0(%rax)
  4015eb:	0f 11 80 c0 02 00 00 	movups %xmm0,0x2c0(%rax)
  4015f2:	0f 11 80 d0 02 00 00 	movups %xmm0,0x2d0(%rax)
  4015f9:	0f 11 80 e0 02 00 00 	movups %xmm0,0x2e0(%rax)
  401600:	0f 11 80 f0 02 00 00 	movups %xmm0,0x2f0(%rax)
  401607:	0f 11 80 00 03 00 00 	movups %xmm0,0x300(%rax)
  40160e:	0f 11 80 10 03 00 00 	movups %xmm0,0x310(%rax)
  401615:	0f 11 80 20 03 00 00 	movups %xmm0,0x320(%rax)
  40161c:	0f 11 80 30 03 00 00 	movups %xmm0,0x330(%rax)
  401623:	0f 11 80 40 03 00 00 	movups %xmm0,0x340(%rax)
  40162a:	0f 11 80 50 03 00 00 	movups %xmm0,0x350(%rax)
  401631:	0f 11 80 60 03 00 00 	movups %xmm0,0x360(%rax)
  401638:	0f 11 80 70 03 00 00 	movups %xmm0,0x370(%rax)
  40163f:	0f 11 80 80 03 00 00 	movups %xmm0,0x380(%rax)
  401646:	0f 11 80 90 03 00 00 	movups %xmm0,0x390(%rax)
  40164d:	0f 11 80 a0 03 00 00 	movups %xmm0,0x3a0(%rax)
  401654:	0f 11 80 b0 03 00 00 	movups %xmm0,0x3b0(%rax)
  40165b:	0f 11 80 c0 03 00 00 	movups %xmm0,0x3c0(%rax)
  401662:	0f 11 80 d0 03 00 00 	movups %xmm0,0x3d0(%rax)
  401669:	0f 11 80 e0 03 00 00 	movups %xmm0,0x3e0(%rax)
  401670:	0f 11 80 f0 03 00 00 	movups %xmm0,0x3f0(%rax)
  401677:	0f 11 80 00 04 00 00 	movups %xmm0,0x400(%rax)
  40167e:	0f 11 80 10 04 00 00 	movups %xmm0,0x410(%rax)
  401685:	0f 11 80 20 04 00 00 	movups %xmm0,0x420(%rax)
  40168c:	0f 11 80 30 04 00 00 	movups %xmm0,0x430(%rax)
  401693:	0f 11 80 40 04 00 00 	movups %xmm0,0x440(%rax)
  40169a:	0f 11 80 50 04 00 00 	movups %xmm0,0x450(%rax)
  4016a1:	0f 11 80 60 04 00 00 	movups %xmm0,0x460(%rax)
  4016a8:	0f 11 80 70 04 00 00 	movups %xmm0,0x470(%rax)
  4016af:	0f 11 80 80 04 00 00 	movups %xmm0,0x480(%rax)
  4016b6:	0f 11 80 90 04 00 00 	movups %xmm0,0x490(%rax)
  4016bd:	0f 11 80 a0 04 00 00 	movups %xmm0,0x4a0(%rax)
  4016c4:	0f 11 80 b0 04 00 00 	movups %xmm0,0x4b0(%rax)
  4016cb:	0f 11 80 c0 04 00 00 	movups %xmm0,0x4c0(%rax)
  4016d2:	0f 11 80 d0 04 00 00 	movups %xmm0,0x4d0(%rax)
  4016d9:	0f 11 80 e0 04 00 00 	movups %xmm0,0x4e0(%rax)
  4016e0:	0f 11 80 f0 04 00 00 	movups %xmm0,0x4f0(%rax)
  4016e7:	0f 11 80 00 05 00 00 	movups %xmm0,0x500(%rax)
  4016ee:	0f 11 80 10 05 00 00 	movups %xmm0,0x510(%rax)
  4016f5:	0f 11 80 20 05 00 00 	movups %xmm0,0x520(%rax)
  4016fc:	0f 11 80 30 05 00 00 	movups %xmm0,0x530(%rax)
  401703:	0f 11 80 40 05 00 00 	movups %xmm0,0x540(%rax)
  40170a:	0f 11 80 50 05 00 00 	movups %xmm0,0x550(%rax)
  401711:	0f 11 80 60 05 00 00 	movups %xmm0,0x560(%rax)
  401718:	0f 11 80 70 05 00 00 	movups %xmm0,0x570(%rax)
  40171f:	0f 11 80 80 05 00 00 	movups %xmm0,0x580(%rax)
  401726:	0f 11 80 90 05 00 00 	movups %xmm0,0x590(%rax)
  40172d:	0f 11 80 a0 05 00 00 	movups %xmm0,0x5a0(%rax)
  401734:	0f 11 80 b0 05 00 00 	movups %xmm0,0x5b0(%rax)
  40173b:	0f 11 80 c0 05 00 00 	movups %xmm0,0x5c0(%rax)
  401742:	0f 11 80 d0 05 00 00 	movups %xmm0,0x5d0(%rax)
  401749:	0f 11 80 e0 05 00 00 	movups %xmm0,0x5e0(%rax)
  401750:	0f 11 80 f0 05 00 00 	movups %xmm0,0x5f0(%rax)
  401757:	0f 11 80 00 06 00 00 	movups %xmm0,0x600(%rax)
  40175e:	0f 11 80 10 06 00 00 	movups %xmm0,0x610(%rax)
  401765:	0f 11 80 20 06 00 00 	movups %xmm0,0x620(%rax)
  40176c:	0f 11 80 30 06 00 00 	movups %xmm0,0x630(%rax)
  401773:	0f 11 80 40 06 00 00 	movups %xmm0,0x640(%rax)
  40177a:	0f 11 80 50 06 00 00 	movups %xmm0,0x650(%rax)
  401781:	0f 11 80 60 06 00 00 	movups %xmm0,0x660(%rax)
  401788:	0f 11 80 70 06 00 00 	movups %xmm0,0x670(%rax)
  40178f:	0f 11 80 80 06 00 00 	movups %xmm0,0x680(%rax)
  401796:	0f 11 80 90 06 00 00 	movups %xmm0,0x690(%rax)
  40179d:	0f 11 80 a0 06 00 00 	movups %xmm0,0x6a0(%rax)
  4017a4:	0f 11 80 b0 06 00 00 	movups %xmm0,0x6b0(%rax)
  4017ab:	0f 11 80 c0 06 00 00 	movups %xmm0,0x6c0(%rax)
  4017b2:	0f 11 80 d0 06 00 00 	movups %xmm0,0x6d0(%rax)
  4017b9:	0f 11 80 e0 06 00 00 	movups %xmm0,0x6e0(%rax)
  4017c0:	0f 11 80 f0 06 00 00 	movups %xmm0,0x6f0(%rax)
  4017c7:	0f 11 80 00 07 00 00 	movups %xmm0,0x700(%rax)
  4017ce:	0f 11 80 10 07 00 00 	movups %xmm0,0x710(%rax)
  4017d5:	0f 11 80 20 07 00 00 	movups %xmm0,0x720(%rax)
  4017dc:	0f 11 80 30 07 00 00 	movups %xmm0,0x730(%rax)
  4017e3:	0f 11 80 40 07 00 00 	movups %xmm0,0x740(%rax)
  4017ea:	0f 11 80 50 07 00 00 	movups %xmm0,0x750(%rax)
  4017f1:	0f 11 80 60 07 00 00 	movups %xmm0,0x760(%rax)
  4017f8:	0f 11 80 70 07 00 00 	movups %xmm0,0x770(%rax)
  4017ff:	0f 11 80 80 07 00 00 	movups %xmm0,0x780(%rax)
  401806:	0f 11 80 90 07 00 00 	movups %xmm0,0x790(%rax)
  40180d:	0f 11 80 a0 07 00 00 	movups %xmm0,0x7a0(%rax)
  401814:	0f 11 80 b0 07 00 00 	movups %xmm0,0x7b0(%rax)
  40181b:	0f 11 80 c0 07 00 00 	movups %xmm0,0x7c0(%rax)
  401822:	0f 11 80 d0 07 00 00 	movups %xmm0,0x7d0(%rax)
  401829:	0f 11 80 e0 07 00 00 	movups %xmm0,0x7e0(%rax)
  401830:	0f 11 80 f0 07 00 00 	movups %xmm0,0x7f0(%rax)
  401837:	45 31 d2             	xor    %r10d,%r10d
  40183a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
  401840:	49 63 c2             	movslq %r10d,%rax
  401843:	31 d2                	xor    %edx,%edx
  401845:	4c 8d 4c c5 00       	lea    0x0(%rbp,%rax,8),%r9
  40184a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
  401850:	41 0f be 04 10       	movsbl (%r8,%rdx,1),%eax
  401855:	89 d1                	mov    %edx,%ecx
  401857:	83 e8 01             	sub    $0x1,%eax
  40185a:	89 c6                	mov    %eax,%esi
  40185c:	c1 fe 02             	sar    $0x2,%esi
  40185f:	39 f7                	cmp    %esi,%edi
  401861:	75 1a                	jne    40187d <desinit+0x93d>
  401863:	83 e0 03             	and    $0x3,%eax
  401866:	45 85 14 83          	test   %r10d,(%r11,%rax,4)
  40186a:	74 11                	je     40187d <desinit+0x93d>
  40186c:	89 d0                	mov    %edx,%eax
  40186e:	83 e1 07             	and    $0x7,%ecx
  401871:	c1 f8 03             	sar    $0x3,%eax
  401874:	8b 0c 8b             	mov    (%rbx,%rcx,4),%ecx
  401877:	48 98                	cltq   
  401879:	41 08 0c 01          	or     %cl,(%r9,%rax,1)
  40187d:	48 83 c2 01          	add    $0x1,%rdx
  401881:	48 83 fa 40          	cmp    $0x40,%rdx
  401885:	75 c9                	jne    401850 <desinit+0x910>
  401887:	41 83 c2 01          	add    $0x1,%r10d
  40188b:	41 83 fa 10          	cmp    $0x10,%r10d
  40188f:	75 af                	jne    401840 <desinit+0x900>
  401891:	83 c7 01             	add    $0x1,%edi
  401894:	48 83 ed 80          	sub    $0xffffffffffffff80,%rbp
  401898:	83 ff 10             	cmp    $0x10,%edi
  40189b:	75 9a                	jne    401837 <desinit+0x8f7>
  40189d:	31 c0                	xor    %eax,%eax
  40189f:	48 83 c4 20          	add    $0x20,%rsp
  4018a3:	5b                   	pop    %rbx
  4018a4:	5d                   	pop    %rbp
  4018a5:	41 5c                	pop    %r12
  4018a7:	41 5d                	pop    %r13
  4018a9:	41 5e                	pop    %r14
  4018ab:	c3                   	retq   
  4018ac:	83 c8 ff             	or     $0xffffffff,%eax
  4018af:	eb ee                	jmp    40189f <desinit+0x95f>
  4018b1:	48 89 df             	mov    %rbx,%rdi
  4018b4:	e8 f7 f3 ff ff       	callq  400cb0 <free@plt>
  4018b9:	48 89 ef             	mov    %rbp,%rdi
  4018bc:	e8 ef f3 ff ff       	callq  400cb0 <free@plt>
  4018c1:	83 c8 ff             	or     $0xffffffff,%eax
  4018c4:	eb d9                	jmp    40189f <desinit+0x95f>
  4018c6:	48 89 df             	mov    %rbx,%rdi
  4018c9:	e8 e2 f3 ff ff       	callq  400cb0 <free@plt>
  4018ce:	83 c8 ff             	or     $0xffffffff,%eax
  4018d1:	eb cc                	jmp    40189f <desinit+0x95f>
  4018d3:	0f 1f 00             	nopl   (%rax)
  4018d6:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
  4018dd:	00 00 00 

00000000004018e0 <dessetkey>:
  4018e0:	41 57                	push   %r15
  4018e2:	66 0f ef c0          	pxor   %xmm0,%xmm0
  4018e6:	41 56                	push   %r14
  4018e8:	41 55                	push   %r13
  4018ea:	31 d2                	xor    %edx,%edx
  4018ec:	41 54                	push   %r12
  4018ee:	55                   	push   %rbp
  4018ef:	49 89 fc             	mov    %rdi,%r12
  4018f2:	53                   	push   %rbx
  4018f3:	b9 80 00 00 00       	mov    $0x80,%ecx
  4018f8:	b8 39 00 00 00       	mov    $0x39,%eax
  4018fd:	4c 8d 0d 9c 29 00 00 	lea    0x299c(%rip),%r9        # 4042a0 <pc1>
  401904:	4c 8d 05 15 27 00 00 	lea    0x2715(%rip),%r8        # 404020 <bytebit>
  40190b:	48 83 ec 20          	sub    $0x20,%rsp
  40190f:	0f 11 07             	movups %xmm0,(%rdi)
  401912:	0f 11 47 10          	movups %xmm0,0x10(%rdi)
  401916:	0f 11 47 20          	movups %xmm0,0x20(%rdi)
  40191a:	0f 11 47 30          	movups %xmm0,0x30(%rdi)
  40191e:	0f 11 47 40          	movups %xmm0,0x40(%rdi)
  401922:	0f 11 47 50          	movups %xmm0,0x50(%rdi)
  401926:	0f 11 47 60          	movups %xmm0,0x60(%rdi)
  40192a:	0f 11 47 70          	movups %xmm0,0x70(%rdi)
  40192e:	48 8d 7c 24 98       	lea    -0x68(%rsp),%rdi
  401933:	eb 12                	jmp    401947 <dessetkey+0x67>
  401935:	0f 1f 00             	nopl   (%rax)
  401938:	41 0f be 04 11       	movsbl (%r9,%rdx,1),%eax
  40193d:	8d 48 ff             	lea    -0x1(%rax),%ecx
  401940:	83 e1 07             	and    $0x7,%ecx
  401943:	41 8b 0c 88          	mov    (%r8,%rcx,4),%ecx
  401947:	83 e8 01             	sub    $0x1,%eax
  40194a:	c1 f8 03             	sar    $0x3,%eax
  40194d:	48 98                	cltq   
  40194f:	0f be 04 06          	movsbl (%rsi,%rax,1),%eax
  401953:	85 c8                	test   %ecx,%eax
  401955:	0f 95 04 17          	setne  (%rdi,%rdx,1)
  401959:	48 83 c2 01          	add    $0x1,%rdx
  40195d:	48 83 fa 38          	cmp    $0x38,%rdx
  401961:	75 d5                	jne    401938 <dessetkey+0x58>
  401963:	48 8d 44 24 d8       	lea    -0x28(%rsp),%rax
  401968:	4c 8d 1d f1 28 00 00 	lea    0x28f1(%rip),%r11        # 404260 <pc2>
  40196f:	4c 8d 2d 1a 29 00 00 	lea    0x291a(%rip),%r13        # 404290 <totrot>
  401976:	48 8d 3d a3 26 00 00 	lea    0x26a3(%rip),%rdi        # 404020 <bytebit>
  40197d:	31 ed                	xor    %ebp,%ebp
  40197f:	41 ba 38 00 00 00    	mov    $0x38,%r10d
  401985:	48 89 44 24 90       	mov    %rax,-0x70(%rsp)
  40198a:	41 b9 1c 00 00 00    	mov    $0x1c,%r9d
  401990:	bb ab aa aa aa       	mov    $0xaaaaaaab,%ebx
  401995:	0f 1f 00             	nopl   (%rax)
  401998:	45 0f be 44 2d 00    	movsbl 0x0(%r13,%rbp,1),%r8d
  40199e:	48 8b 4c 24 90       	mov    -0x70(%rsp),%rcx
  4019a3:	4c 63 fd             	movslq %ebp,%r15
  4019a6:	31 c0                	xor    %eax,%eax
  4019a8:	45 8d 70 e4          	lea    -0x1c(%r8),%r14d
  4019ac:	0f 1f 40 00          	nopl   0x0(%rax)
  4019b0:	83 f8 1b             	cmp    $0x1b,%eax
  4019b3:	41 8d 14 00          	lea    (%r8,%rax,1),%edx
  4019b7:	44 89 ce             	mov    %r9d,%esi
  4019ba:	41 0f 4f f2          	cmovg  %r10d,%esi
  4019be:	39 f2                	cmp    %esi,%edx
  4019c0:	7c 04                	jl     4019c6 <dessetkey+0xe6>
  4019c2:	41 8d 14 06          	lea    (%r14,%rax,1),%edx
  4019c6:	48 63 d2             	movslq %edx,%rdx
  4019c9:	83 c0 01             	add    $0x1,%eax
  4019cc:	48 83 c1 01          	add    $0x1,%rcx
  4019d0:	0f b6 54 14 98       	movzbl -0x68(%rsp,%rdx,1),%edx
  4019d5:	88 51 ff             	mov    %dl,-0x1(%rcx)
  4019d8:	83 f8 38             	cmp    $0x38,%eax
  4019db:	75 d3                	jne    4019b0 <dessetkey+0xd0>
  4019dd:	4b 8d 34 fc          	lea    (%r12,%r15,8),%rsi
  4019e1:	31 c9                	xor    %ecx,%ecx
  4019e3:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
  4019e8:	41 0f be 04 0b       	movsbl (%r11,%rcx,1),%eax
  4019ed:	83 e8 01             	sub    $0x1,%eax
  4019f0:	48 98                	cltq   
  4019f2:	80 7c 04 d8 00       	cmpb   $0x0,-0x28(%rsp,%rax,1)
  4019f7:	74 20                	je     401a19 <dessetkey+0x139>
  4019f9:	89 c8                	mov    %ecx,%eax
  4019fb:	f7 e3                	mul    %ebx
  4019fd:	c1 ea 02             	shr    $0x2,%edx
  401a00:	8d 04 52             	lea    (%rdx,%rdx,2),%eax
  401a03:	4c 63 c2             	movslq %edx,%r8
  401a06:	89 ca                	mov    %ecx,%edx
  401a08:	01 c0                	add    %eax,%eax
  401a0a:	29 c2                	sub    %eax,%edx
  401a0c:	48 63 c2             	movslq %edx,%rax
  401a0f:	8b 04 87             	mov    (%rdi,%rax,4),%eax
  401a12:	c1 f8 02             	sar    $0x2,%eax
  401a15:	42 08 04 06          	or     %al,(%rsi,%r8,1)
  401a19:	48 83 c1 01          	add    $0x1,%rcx
  401a1d:	48 83 f9 30          	cmp    $0x30,%rcx
  401a21:	75 c5                	jne    4019e8 <dessetkey+0x108>
  401a23:	48 83 c5 01          	add    $0x1,%rbp
  401a27:	48 83 fd 10          	cmp    $0x10,%rbp
  401a2b:	0f 85 67 ff ff ff    	jne    401998 <dessetkey+0xb8>
  401a31:	48 83 c4 20          	add    $0x20,%rsp
  401a35:	5b                   	pop    %rbx
  401a36:	5d                   	pop    %rbp
  401a37:	41 5c                	pop    %r12
  401a39:	41 5d                	pop    %r13
  401a3b:	41 5e                	pop    %r14
  401a3d:	41 5f                	pop    %r15
  401a3f:	c3                   	retq   

0000000000401a40 <endes>:
  401a40:	48 8b 0d 29 37 20 00 	mov    0x203729(%rip),%rcx        # 605170 <iperm>
  401a47:	41 57                	push   %r15
  401a49:	41 56                	push   %r14
  401a4b:	41 55                	push   %r13
  401a4d:	41 54                	push   %r12
  401a4f:	55                   	push   %rbp
  401a50:	53                   	push   %rbx
  401a51:	48 85 c9             	test   %rcx,%rcx
  401a54:	48 89 7c 24 d8       	mov    %rdi,-0x28(%rsp)
  401a59:	48 c7 44 24 f8 00 00 	movq   $0x0,-0x8(%rsp)
  401a60:	00 00 
  401a62:	0f 84 e0 00 00 00    	je     401b48 <endes+0x108>
  401a68:	4c 8d 7e 08          	lea    0x8(%rsi),%r15
  401a6c:	48 89 f7             	mov    %rsi,%rdi
  401a6f:	45 31 c9             	xor    %r9d,%r9d
  401a72:	45 31 d2             	xor    %r10d,%r10d
  401a75:	45 31 db             	xor    %r11d,%r11d
  401a78:	31 db                	xor    %ebx,%ebx
  401a7a:	31 ed                	xor    %ebp,%ebp
  401a7c:	45 31 e4             	xor    %r12d,%r12d
  401a7f:	45 31 ed             	xor    %r13d,%r13d
  401a82:	45 31 f6             	xor    %r14d,%r14d
  401a85:	0f 1f 00             	nopl   (%rax)
  401a88:	0f b6 07             	movzbl (%rdi),%eax
  401a8b:	48 83 c7 01          	add    $0x1,%rdi
  401a8f:	89 c2                	mov    %eax,%edx
  401a91:	83 e0 0f             	and    $0xf,%eax
  401a94:	c0 ea 04             	shr    $0x4,%dl
  401a97:	48 8d 84 c1 80 00 00 	lea    0x80(%rcx,%rax,8),%rax
  401a9e:	00 
  401a9f:	0f b6 d2             	movzbl %dl,%edx
  401aa2:	48 8d 14 d1          	lea    (%rcx,%rdx,8),%rdx
  401aa6:	48 81 c1 00 01 00 00 	add    $0x100,%rcx
  401aad:	44 0f b6 02          	movzbl (%rdx),%r8d
  401ab1:	44 0a 00             	or     (%rax),%r8b
  401ab4:	45 09 c6             	or     %r8d,%r14d
  401ab7:	44 0f b6 42 01       	movzbl 0x1(%rdx),%r8d
  401abc:	44 0a 40 01          	or     0x1(%rax),%r8b
  401ac0:	45 09 c5             	or     %r8d,%r13d
  401ac3:	44 0f b6 42 02       	movzbl 0x2(%rdx),%r8d
  401ac8:	44 0a 40 02          	or     0x2(%rax),%r8b
  401acc:	45 09 c4             	or     %r8d,%r12d
  401acf:	44 0f b6 42 03       	movzbl 0x3(%rdx),%r8d
  401ad4:	44 0a 40 03          	or     0x3(%rax),%r8b
  401ad8:	44 09 c5             	or     %r8d,%ebp
  401adb:	44 0f b6 42 04       	movzbl 0x4(%rdx),%r8d
  401ae0:	44 0a 40 04          	or     0x4(%rax),%r8b
  401ae4:	44 09 c3             	or     %r8d,%ebx
  401ae7:	44 0f b6 42 05       	movzbl 0x5(%rdx),%r8d
  401aec:	44 0a 40 05          	or     0x5(%rax),%r8b
  401af0:	45 09 c3             	or     %r8d,%r11d
  401af3:	44 0f b6 42 06       	movzbl 0x6(%rdx),%r8d
  401af8:	0f b6 52 07          	movzbl 0x7(%rdx),%edx
  401afc:	0a 50 07             	or     0x7(%rax),%dl
  401aff:	44 0a 40 06          	or     0x6(%rax),%r8b
  401b03:	89 d0                	mov    %edx,%eax
  401b05:	45 09 c2             	or     %r8d,%r10d
  401b08:	41 09 c1             	or     %eax,%r9d
  401b0b:	4c 39 ff             	cmp    %r15,%rdi
  401b0e:	0f 85 74 ff ff ff    	jne    401a88 <endes+0x48>
  401b14:	44 88 74 24 f8       	mov    %r14b,-0x8(%rsp)
  401b19:	44 88 6c 24 f9       	mov    %r13b,-0x7(%rsp)
  401b1e:	44 88 64 24 fa       	mov    %r12b,-0x6(%rsp)
  401b23:	40 88 6c 24 fb       	mov    %bpl,-0x5(%rsp)
  401b28:	88 5c 24 fc          	mov    %bl,-0x4(%rsp)
  401b2c:	44 88 5c 24 fd       	mov    %r11b,-0x3(%rsp)
  401b31:	44 88 54 24 fe       	mov    %r10b,-0x2(%rsp)
  401b36:	44 88 4c 24 ff       	mov    %r9b,-0x1(%rsp)
  401b3b:	48 8b 7c 24 d8       	mov    -0x28(%rsp),%rdi
  401b40:	eb 0e                	jmp    401b50 <endes+0x110>
  401b42:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
  401b48:	48 8b 06             	mov    (%rsi),%rax
  401b4b:	48 89 44 24 f8       	mov    %rax,-0x8(%rsp)
  401b50:	44 8b 7c 24 f8       	mov    -0x8(%rsp),%r15d
  401b55:	48 8b 15 1c 36 20 00 	mov    0x20361c(%rip),%rdx        # 605178 <sp>
  401b5c:	45 31 f6             	xor    %r14d,%r14d
  401b5f:	44 8b 44 24 fc       	mov    -0x4(%rsp),%r8d
  401b64:	c6 44 24 e3 00       	movb   $0x0,-0x1d(%rsp)
  401b69:	c6 44 24 d8 00       	movb   $0x0,-0x28(%rsp)
  401b6e:	48 89 74 24 e8       	mov    %rsi,-0x18(%rsp)
  401b73:	44 89 7c 24 e4       	mov    %r15d,-0x1c(%rsp)
  401b78:	e9 b1 00 00 00       	jmpq   401c2e <endes+0x1ee>
  401b7d:	0f 1f 00             	nopl   (%rax)
  401b80:	44 89 c0             	mov    %r8d,%eax
  401b83:	c6 44 24 d8 01       	movb   $0x1,-0x28(%rsp)
  401b88:	d1 c8                	ror    %eax
  401b8a:	89 c6                	mov    %eax,%esi
  401b8c:	c1 ee 1a             	shr    $0x1a,%esi
  401b8f:	31 f1                	xor    %esi,%ecx
  401b91:	89 c6                	mov    %eax,%esi
  401b93:	c1 ee 16             	shr    $0x16,%esi
  401b96:	83 e1 3f             	and    $0x3f,%ecx
  401b99:	44 31 ee             	xor    %r13d,%esi
  401b9c:	8b 0c 8a             	mov    (%rdx,%rcx,4),%ecx
  401b9f:	83 e6 3f             	and    $0x3f,%esi
  401ba2:	0b 8c b2 00 01 00 00 	or     0x100(%rdx,%rsi,4),%ecx
  401ba9:	89 c6                	mov    %eax,%esi
  401bab:	c1 ee 12             	shr    $0x12,%esi
  401bae:	44 31 e6             	xor    %r12d,%esi
  401bb1:	83 e6 3f             	and    $0x3f,%esi
  401bb4:	0b 8c b2 00 02 00 00 	or     0x200(%rdx,%rsi,4),%ecx
  401bbb:	89 c6                	mov    %eax,%esi
  401bbd:	c1 ee 0e             	shr    $0xe,%esi
  401bc0:	31 f5                	xor    %esi,%ebp
  401bc2:	89 c6                	mov    %eax,%esi
  401bc4:	c1 ee 0a             	shr    $0xa,%esi
  401bc7:	83 e5 3f             	and    $0x3f,%ebp
  401bca:	31 f3                	xor    %esi,%ebx
  401bcc:	89 c6                	mov    %eax,%esi
  401bce:	0b 8c aa 00 03 00 00 	or     0x300(%rdx,%rbp,4),%ecx
  401bd5:	c1 ee 06             	shr    $0x6,%esi
  401bd8:	c1 e8 02             	shr    $0x2,%eax
  401bdb:	83 e3 3f             	and    $0x3f,%ebx
  401bde:	41 31 f3             	xor    %esi,%r11d
  401be1:	41 31 c2             	xor    %eax,%r10d
  401be4:	0b 8c 9a 00 04 00 00 	or     0x400(%rdx,%rbx,4),%ecx
  401beb:	41 83 e3 3f          	and    $0x3f,%r11d
  401bef:	41 83 e2 3f          	and    $0x3f,%r10d
  401bf3:	42 0b 8c 9a 00 05 00 	or     0x500(%rdx,%r11,4),%ecx
  401bfa:	00 
  401bfb:	42 8b 84 92 00 06 00 	mov    0x600(%rdx,%r10,4),%eax
  401c02:	00 
  401c03:	09 c8                	or     %ecx,%eax
  401c05:	44 89 c1             	mov    %r8d,%ecx
  401c08:	d1 c1                	rol    %ecx
  401c0a:	41 31 c9             	xor    %ecx,%r9d
  401c0d:	41 83 e1 3f          	and    $0x3f,%r9d
  401c11:	42 0b 84 8a 00 07 00 	or     0x700(%rdx,%r9,4),%eax
  401c18:	00 
  401c19:	41 31 c7             	xor    %eax,%r15d
  401c1c:	41 83 c6 01          	add    $0x1,%r14d
  401c20:	48 83 c7 08          	add    $0x8,%rdi
  401c24:	41 83 fe 10          	cmp    $0x10,%r14d
  401c28:	0f 84 de 00 00 00    	je     401d0c <endes+0x2cc>
  401c2e:	41 f6 c6 01          	test   $0x1,%r14b
  401c32:	0f b6 0f             	movzbl (%rdi),%ecx
  401c35:	44 0f b6 6f 01       	movzbl 0x1(%rdi),%r13d
  401c3a:	44 0f b6 67 02       	movzbl 0x2(%rdi),%r12d
  401c3f:	0f b6 6f 03          	movzbl 0x3(%rdi),%ebp
  401c43:	0f b6 5f 04          	movzbl 0x4(%rdi),%ebx
  401c47:	44 0f b6 5f 05       	movzbl 0x5(%rdi),%r11d
  401c4c:	44 0f b6 57 06       	movzbl 0x6(%rdi),%r10d
  401c51:	44 0f b6 4f 07       	movzbl 0x7(%rdi),%r9d
  401c56:	0f 84 24 ff ff ff    	je     401b80 <endes+0x140>
  401c5c:	44 89 f8             	mov    %r15d,%eax
  401c5f:	c6 44 24 e3 01       	movb   $0x1,-0x1d(%rsp)
  401c64:	d1 c8                	ror    %eax
  401c66:	89 c6                	mov    %eax,%esi
  401c68:	c1 ee 1a             	shr    $0x1a,%esi
  401c6b:	31 ce                	xor    %ecx,%esi
  401c6d:	89 c1                	mov    %eax,%ecx
  401c6f:	83 e6 3f             	and    $0x3f,%esi
  401c72:	c1 e9 16             	shr    $0x16,%ecx
  401c75:	41 31 cd             	xor    %ecx,%r13d
  401c78:	8b 0c b2             	mov    (%rdx,%rsi,4),%ecx
  401c7b:	89 c6                	mov    %eax,%esi
  401c7d:	c1 ee 12             	shr    $0x12,%esi
  401c80:	41 83 e5 3f          	and    $0x3f,%r13d
  401c84:	44 31 e6             	xor    %r12d,%esi
  401c87:	42 0b 8c aa 00 01 00 	or     0x100(%rdx,%r13,4),%ecx
  401c8e:	00 
  401c8f:	83 e6 3f             	and    $0x3f,%esi
  401c92:	0b 8c b2 00 02 00 00 	or     0x200(%rdx,%rsi,4),%ecx
  401c99:	89 c6                	mov    %eax,%esi
  401c9b:	c1 ee 0e             	shr    $0xe,%esi
  401c9e:	31 f5                	xor    %esi,%ebp
  401ca0:	89 c6                	mov    %eax,%esi
  401ca2:	c1 ee 0a             	shr    $0xa,%esi
  401ca5:	83 e5 3f             	and    $0x3f,%ebp
  401ca8:	31 f3                	xor    %esi,%ebx
  401caa:	89 c6                	mov    %eax,%esi
  401cac:	0b 8c aa 00 03 00 00 	or     0x300(%rdx,%rbp,4),%ecx
  401cb3:	c1 ee 06             	shr    $0x6,%esi
  401cb6:	c1 e8 02             	shr    $0x2,%eax
  401cb9:	83 e3 3f             	and    $0x3f,%ebx
  401cbc:	41 31 f3             	xor    %esi,%r11d
  401cbf:	41 31 c2             	xor    %eax,%r10d
  401cc2:	0b 8c 9a 00 04 00 00 	or     0x400(%rdx,%rbx,4),%ecx
  401cc9:	41 83 e3 3f          	and    $0x3f,%r11d
  401ccd:	41 83 e2 3f          	and    $0x3f,%r10d
  401cd1:	42 0b 8c 9a 00 05 00 	or     0x500(%rdx,%r11,4),%ecx
  401cd8:	00 
  401cd9:	42 8b 84 92 00 06 00 	mov    0x600(%rdx,%r10,4),%eax
  401ce0:	00 
  401ce1:	09 c8                	or     %ecx,%eax
  401ce3:	44 89 f9             	mov    %r15d,%ecx
  401ce6:	d1 c1                	rol    %ecx
  401ce8:	41 31 c9             	xor    %ecx,%r9d
  401ceb:	41 83 e1 3f          	and    $0x3f,%r9d
  401cef:	42 0b 84 8a 00 07 00 	or     0x700(%rdx,%r9,4),%eax
  401cf6:	00 
  401cf7:	41 31 c0             	xor    %eax,%r8d
  401cfa:	41 83 c6 01          	add    $0x1,%r14d
  401cfe:	48 83 c7 08          	add    $0x8,%rdi
  401d02:	41 83 fe 10          	cmp    $0x10,%r14d
  401d06:	0f 85 22 ff ff ff    	jne    401c2e <endes+0x1ee>
  401d0c:	0f b6 44 24 d8       	movzbl -0x28(%rsp),%eax
  401d11:	48 8b 74 24 e8       	mov    -0x18(%rsp),%rsi
  401d16:	84 c0                	test   %al,%al
  401d18:	44 0f 44 7c 24 e4    	cmove  -0x1c(%rsp),%r15d
  401d1e:	80 7c 24 e3 00       	cmpb   $0x0,-0x1d(%rsp)
  401d23:	44 89 7c 24 e4       	mov    %r15d,-0x1c(%rsp)
  401d28:	0f 85 0d 01 00 00    	jne    401e3b <endes+0x3fb>
  401d2e:	8b 44 24 fc          	mov    -0x4(%rsp),%eax
  401d32:	48 8b 0d 2f 34 20 00 	mov    0x20342f(%rip),%rcx        # 605168 <fperm>
  401d39:	89 44 24 f8          	mov    %eax,-0x8(%rsp)
  401d3d:	8b 44 24 e4          	mov    -0x1c(%rsp),%eax
  401d41:	48 85 c9             	test   %rcx,%rcx
  401d44:	89 44 24 fc          	mov    %eax,-0x4(%rsp)
  401d48:	0f 84 da 00 00 00    	je     401e28 <endes+0x3e8>
  401d4e:	48 8d 7c 24 f8       	lea    -0x8(%rsp),%rdi
  401d53:	48 c7 06 00 00 00 00 	movq   $0x0,(%rsi)
  401d5a:	45 31 ed             	xor    %r13d,%r13d
  401d5d:	45 31 e4             	xor    %r12d,%r12d
  401d60:	31 ed                	xor    %ebp,%ebp
  401d62:	31 db                	xor    %ebx,%ebx
  401d64:	45 31 db             	xor    %r11d,%r11d
  401d67:	45 31 d2             	xor    %r10d,%r10d
  401d6a:	45 31 c9             	xor    %r9d,%r9d
  401d6d:	45 31 c0             	xor    %r8d,%r8d
  401d70:	0f b6 07             	movzbl (%rdi),%eax
  401d73:	48 83 c7 01          	add    $0x1,%rdi
  401d77:	89 c2                	mov    %eax,%edx
  401d79:	83 e0 0f             	and    $0xf,%eax
  401d7c:	c0 ea 04             	shr    $0x4,%dl
  401d7f:	48 8d 84 c1 80 00 00 	lea    0x80(%rcx,%rax,8),%rax
  401d86:	00 
  401d87:	0f b6 d2             	movzbl %dl,%edx
  401d8a:	48 8d 14 d1          	lea    (%rcx,%rdx,8),%rdx
  401d8e:	48 81 c1 00 01 00 00 	add    $0x100,%rcx
  401d95:	44 0f b6 32          	movzbl (%rdx),%r14d
  401d99:	44 0a 30             	or     (%rax),%r14b
  401d9c:	45 09 f5             	or     %r14d,%r13d
  401d9f:	44 88 2e             	mov    %r13b,(%rsi)
  401da2:	44 0f b6 72 01       	movzbl 0x1(%rdx),%r14d
  401da7:	44 0a 70 01          	or     0x1(%rax),%r14b
  401dab:	45 09 f4             	or     %r14d,%r12d
  401dae:	44 88 66 01          	mov    %r12b,0x1(%rsi)
  401db2:	44 0f b6 72 02       	movzbl 0x2(%rdx),%r14d
  401db7:	44 0a 70 02          	or     0x2(%rax),%r14b
  401dbb:	44 09 f5             	or     %r14d,%ebp
  401dbe:	40 88 6e 02          	mov    %bpl,0x2(%rsi)
  401dc2:	44 0f b6 72 03       	movzbl 0x3(%rdx),%r14d
  401dc7:	44 0a 70 03          	or     0x3(%rax),%r14b
  401dcb:	44 09 f3             	or     %r14d,%ebx
  401dce:	88 5e 03             	mov    %bl,0x3(%rsi)
  401dd1:	44 0f b6 72 04       	movzbl 0x4(%rdx),%r14d
  401dd6:	44 0a 70 04          	or     0x4(%rax),%r14b
  401dda:	45 09 f3             	or     %r14d,%r11d
  401ddd:	44 88 5e 04          	mov    %r11b,0x4(%rsi)
  401de1:	44 0f b6 72 05       	movzbl 0x5(%rdx),%r14d
  401de6:	44 0a 70 05          	or     0x5(%rax),%r14b
  401dea:	45 09 f2             	or     %r14d,%r10d
  401ded:	44 88 56 05          	mov    %r10b,0x5(%rsi)
  401df1:	44 0f b6 72 06       	movzbl 0x6(%rdx),%r14d
  401df6:	44 0a 70 06          	or     0x6(%rax),%r14b
  401dfa:	45 09 f1             	or     %r14d,%r9d
  401dfd:	44 88 4e 06          	mov    %r9b,0x6(%rsi)
  401e01:	0f b6 52 07          	movzbl 0x7(%rdx),%edx
  401e05:	0a 50 07             	or     0x7(%rax),%dl
  401e08:	89 d0                	mov    %edx,%eax
  401e0a:	41 09 c0             	or     %eax,%r8d
  401e0d:	48 39 e7             	cmp    %rsp,%rdi
  401e10:	44 88 46 07          	mov    %r8b,0x7(%rsi)
  401e14:	0f 85 56 ff ff ff    	jne    401d70 <endes+0x330>
  401e1a:	5b                   	pop    %rbx
  401e1b:	5d                   	pop    %rbp
  401e1c:	41 5c                	pop    %r12
  401e1e:	41 5d                	pop    %r13
  401e20:	41 5e                	pop    %r14
  401e22:	41 5f                	pop    %r15
  401e24:	c3                   	retq   
  401e25:	0f 1f 00             	nopl   (%rax)
  401e28:	48 8b 44 24 f8       	mov    -0x8(%rsp),%rax
  401e2d:	48 89 06             	mov    %rax,(%rsi)
  401e30:	5b                   	pop    %rbx
  401e31:	5d                   	pop    %rbp
  401e32:	41 5c                	pop    %r12
  401e34:	41 5d                	pop    %r13
  401e36:	41 5e                	pop    %r14
  401e38:	41 5f                	pop    %r15
  401e3a:	c3                   	retq   
  401e3b:	44 89 44 24 fc       	mov    %r8d,-0x4(%rsp)
  401e40:	e9 e9 fe ff ff       	jmpq   401d2e <endes+0x2ee>
  401e45:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
  401e4c:	00 00 00 
  401e4f:	90                   	nop

0000000000401e50 <idea_encrypt>:
  401e50:	44 8b 1f             	mov    (%rdi),%r11d
  401e53:	55                   	push   %rbp
  401e54:	53                   	push   %rbx
  401e55:	44 8b 0e             	mov    (%rsi),%r9d
  401e58:	8b 4f 04             	mov    0x4(%rdi),%ecx
  401e5b:	44 89 d8             	mov    %r11d,%eax
  401e5e:	c1 e8 10             	shr    $0x10,%eax
  401e61:	45 89 ca             	mov    %r9d,%r10d
  401e64:	44 0f af d0          	imul   %eax,%r10d
  401e68:	89 ca                	mov    %ecx,%edx
  401e6a:	c1 ea 10             	shr    $0x10,%edx
  401e6d:	45 85 d2             	test   %r10d,%r10d
  401e70:	0f 84 ea 06 00 00    	je     402560 <idea_encrypt+0x710>
  401e76:	45 0f b7 c2          	movzwl %r10w,%r8d
  401e7a:	41 c1 ea 10          	shr    $0x10,%r10d
  401e7e:	45 29 d0             	sub    %r10d,%r8d
  401e81:	44 89 c0             	mov    %r8d,%eax
  401e84:	c1 e8 10             	shr    $0x10,%eax
  401e87:	41 29 c0             	sub    %eax,%r8d
  401e8a:	8b 5e 08             	mov    0x8(%rsi),%ebx
  401e8d:	0f b7 c9             	movzwl %cx,%ecx
  401e90:	44 03 5e 04          	add    0x4(%rsi),%r11d
  401e94:	01 d3                	add    %edx,%ebx
  401e96:	8b 56 0c             	mov    0xc(%rsi),%edx
  401e99:	89 d0                	mov    %edx,%eax
  401e9b:	0f af c1             	imul   %ecx,%eax
  401e9e:	85 c0                	test   %eax,%eax
  401ea0:	0f 84 ba 09 00 00    	je     402860 <idea_encrypt+0xa10>
  401ea6:	44 0f b7 d0          	movzwl %ax,%r10d
  401eaa:	c1 e8 10             	shr    $0x10,%eax
  401ead:	41 29 c2             	sub    %eax,%r10d
  401eb0:	44 89 d0             	mov    %r10d,%eax
  401eb3:	c1 e8 10             	shr    $0x10,%eax
  401eb6:	41 29 c2             	sub    %eax,%r10d
  401eb9:	8b 6e 10             	mov    0x10(%rsi),%ebp
  401ebc:	44 89 c2             	mov    %r8d,%edx
  401ebf:	31 da                	xor    %ebx,%edx
  401ec1:	0f b7 d2             	movzwl %dx,%edx
  401ec4:	89 e9                	mov    %ebp,%ecx
  401ec6:	0f af ca             	imul   %edx,%ecx
  401ec9:	85 c9                	test   %ecx,%ecx
  401ecb:	0f 84 77 09 00 00    	je     402848 <idea_encrypt+0x9f8>
  401ed1:	0f b7 c1             	movzwl %cx,%eax
  401ed4:	c1 e9 10             	shr    $0x10,%ecx
  401ed7:	29 c8                	sub    %ecx,%eax
  401ed9:	89 c2                	mov    %eax,%edx
  401edb:	c1 ea 10             	shr    $0x10,%edx
  401ede:	29 d0                	sub    %edx,%eax
  401ee0:	45 89 d1             	mov    %r10d,%r9d
  401ee3:	8b 6e 14             	mov    0x14(%rsi),%ebp
  401ee6:	45 31 d9             	xor    %r11d,%r9d
  401ee9:	41 01 c1             	add    %eax,%r9d
  401eec:	45 0f b7 c9          	movzwl %r9w,%r9d
  401ef0:	89 ea                	mov    %ebp,%edx
  401ef2:	41 0f af d1          	imul   %r9d,%edx
  401ef6:	85 d2                	test   %edx,%edx
  401ef8:	0f 84 32 09 00 00    	je     402830 <idea_encrypt+0x9e0>
  401efe:	0f b7 ca             	movzwl %dx,%ecx
  401f01:	c1 ea 10             	shr    $0x10,%edx
  401f04:	29 d1                	sub    %edx,%ecx
  401f06:	89 ca                	mov    %ecx,%edx
  401f08:	c1 ea 10             	shr    $0x10,%edx
  401f0b:	29 d1                	sub    %edx,%ecx
  401f0d:	89 ca                	mov    %ecx,%edx
  401f0f:	01 d0                	add    %edx,%eax
  401f11:	41 31 d0             	xor    %edx,%r8d
  401f14:	31 da                	xor    %ebx,%edx
  401f16:	41 31 c2             	xor    %eax,%r10d
  401f19:	44 31 d8             	xor    %r11d,%eax
  401f1c:	44 8b 5e 18          	mov    0x18(%rsi),%r11d
  401f20:	45 0f b7 c0          	movzwl %r8w,%r8d
  401f24:	45 89 d9             	mov    %r11d,%r9d
  401f27:	45 0f af c8          	imul   %r8d,%r9d
  401f2b:	45 85 c9             	test   %r9d,%r9d
  401f2e:	0f 84 e4 08 00 00    	je     402818 <idea_encrypt+0x9c8>
  401f34:	41 0f b7 c9          	movzwl %r9w,%ecx
  401f38:	41 c1 e9 10          	shr    $0x10,%r9d
  401f3c:	44 29 c9             	sub    %r9d,%ecx
  401f3f:	41 89 c8             	mov    %ecx,%r8d
  401f42:	89 cb                	mov    %ecx,%ebx
  401f44:	41 c1 e8 10          	shr    $0x10,%r8d
  401f48:	44 29 c3             	sub    %r8d,%ebx
  401f4b:	03 46 20             	add    0x20(%rsi),%eax
  401f4e:	8b 4e 24             	mov    0x24(%rsi),%ecx
  401f51:	45 0f b7 d2          	movzwl %r10w,%r10d
  401f55:	03 56 1c             	add    0x1c(%rsi),%edx
  401f58:	41 89 c1             	mov    %eax,%r9d
  401f5b:	89 c8                	mov    %ecx,%eax
  401f5d:	41 0f af c2          	imul   %r10d,%eax
  401f61:	85 c0                	test   %eax,%eax
  401f63:	0f 84 97 08 00 00    	je     402800 <idea_encrypt+0x9b0>
  401f69:	44 0f b7 d8          	movzwl %ax,%r11d
  401f6d:	c1 e8 10             	shr    $0x10,%eax
  401f70:	41 29 c3             	sub    %eax,%r11d
  401f73:	44 89 d8             	mov    %r11d,%eax
  401f76:	c1 e8 10             	shr    $0x10,%eax
  401f79:	41 29 c3             	sub    %eax,%r11d
  401f7c:	44 8b 46 28          	mov    0x28(%rsi),%r8d
  401f80:	89 d8                	mov    %ebx,%eax
  401f82:	44 31 c8             	xor    %r9d,%eax
  401f85:	0f b7 c0             	movzwl %ax,%eax
  401f88:	44 89 c1             	mov    %r8d,%ecx
  401f8b:	0f af c8             	imul   %eax,%ecx
  401f8e:	85 c9                	test   %ecx,%ecx
  401f90:	0f 84 52 08 00 00    	je     4027e8 <idea_encrypt+0x998>
  401f96:	44 0f b7 d1          	movzwl %cx,%r10d
  401f9a:	c1 e9 10             	shr    $0x10,%ecx
  401f9d:	41 29 ca             	sub    %ecx,%r10d
  401fa0:	44 89 d0             	mov    %r10d,%eax
  401fa3:	c1 e8 10             	shr    $0x10,%eax
  401fa6:	41 29 c2             	sub    %eax,%r10d
  401fa9:	45 89 d8             	mov    %r11d,%r8d
  401fac:	8b 6e 2c             	mov    0x2c(%rsi),%ebp
  401faf:	41 31 d0             	xor    %edx,%r8d
  401fb2:	45 01 d0             	add    %r10d,%r8d
  401fb5:	45 0f b7 c0          	movzwl %r8w,%r8d
  401fb9:	89 e8                	mov    %ebp,%eax
  401fbb:	41 0f af c0          	imul   %r8d,%eax
  401fbf:	85 c0                	test   %eax,%eax
  401fc1:	0f 84 09 08 00 00    	je     4027d0 <idea_encrypt+0x980>
  401fc7:	0f b7 c8             	movzwl %ax,%ecx
  401fca:	c1 e8 10             	shr    $0x10,%eax
  401fcd:	29 c1                	sub    %eax,%ecx
  401fcf:	89 c8                	mov    %ecx,%eax
  401fd1:	c1 e8 10             	shr    $0x10,%eax
  401fd4:	29 c1                	sub    %eax,%ecx
  401fd6:	89 c8                	mov    %ecx,%eax
  401fd8:	41 01 c2             	add    %eax,%r10d
  401fdb:	31 c3                	xor    %eax,%ebx
  401fdd:	44 31 c8             	xor    %r9d,%eax
  401fe0:	45 31 d3             	xor    %r10d,%r11d
  401fe3:	44 31 d2             	xor    %r10d,%edx
  401fe6:	44 8b 56 30          	mov    0x30(%rsi),%r10d
  401fea:	0f b7 cb             	movzwl %bx,%ecx
  401fed:	45 89 d1             	mov    %r10d,%r9d
  401ff0:	44 0f af c9          	imul   %ecx,%r9d
  401ff4:	45 85 c9             	test   %r9d,%r9d
  401ff7:	0f 84 bb 07 00 00    	je     4027b8 <idea_encrypt+0x968>
  401ffd:	45 0f b7 c1          	movzwl %r9w,%r8d
  402001:	41 c1 e9 10          	shr    $0x10,%r9d
  402005:	45 29 c8             	sub    %r9d,%r8d
  402008:	44 89 c1             	mov    %r8d,%ecx
  40200b:	c1 e9 10             	shr    $0x10,%ecx
  40200e:	41 29 c8             	sub    %ecx,%r8d
  402011:	03 56 38             	add    0x38(%rsi),%edx
  402014:	44 8b 4e 3c          	mov    0x3c(%rsi),%r9d
  402018:	03 46 34             	add    0x34(%rsi),%eax
  40201b:	44 89 c9             	mov    %r9d,%ecx
  40201e:	41 89 d2             	mov    %edx,%r10d
  402021:	41 0f b7 d3          	movzwl %r11w,%edx
  402025:	0f af ca             	imul   %edx,%ecx
  402028:	85 c9                	test   %ecx,%ecx
  40202a:	0f 84 70 07 00 00    	je     4027a0 <idea_encrypt+0x950>
  402030:	44 0f b7 d9          	movzwl %cx,%r11d
  402034:	c1 e9 10             	shr    $0x10,%ecx
  402037:	41 29 cb             	sub    %ecx,%r11d
  40203a:	44 89 da             	mov    %r11d,%edx
  40203d:	c1 ea 10             	shr    $0x10,%edx
  402040:	41 29 d3             	sub    %edx,%r11d
  402043:	8b 6e 40             	mov    0x40(%rsi),%ebp
  402046:	44 89 c2             	mov    %r8d,%edx
  402049:	44 31 d2             	xor    %r10d,%edx
  40204c:	0f b7 d2             	movzwl %dx,%edx
  40204f:	89 e9                	mov    %ebp,%ecx
  402051:	0f af ca             	imul   %edx,%ecx
  402054:	85 c9                	test   %ecx,%ecx
  402056:	0f 84 2c 07 00 00    	je     402788 <idea_encrypt+0x938>
  40205c:	44 0f b7 c9          	movzwl %cx,%r9d
  402060:	c1 e9 10             	shr    $0x10,%ecx
  402063:	41 29 c9             	sub    %ecx,%r9d
  402066:	44 89 ca             	mov    %r9d,%edx
  402069:	44 89 cb             	mov    %r9d,%ebx
  40206c:	c1 ea 10             	shr    $0x10,%edx
  40206f:	29 d3                	sub    %edx,%ebx
  402071:	45 89 d9             	mov    %r11d,%r9d
  402074:	8b 6e 44             	mov    0x44(%rsi),%ebp
  402077:	41 31 c1             	xor    %eax,%r9d
  40207a:	41 01 d9             	add    %ebx,%r9d
  40207d:	45 0f b7 c9          	movzwl %r9w,%r9d
  402081:	89 ea                	mov    %ebp,%edx
  402083:	41 0f af d1          	imul   %r9d,%edx
  402087:	85 d2                	test   %edx,%edx
  402089:	0f 84 e1 06 00 00    	je     402770 <idea_encrypt+0x920>
  40208f:	0f b7 ca             	movzwl %dx,%ecx
  402092:	c1 ea 10             	shr    $0x10,%edx
  402095:	29 d1                	sub    %edx,%ecx
  402097:	89 ca                	mov    %ecx,%edx
  402099:	c1 ea 10             	shr    $0x10,%edx
  40209c:	29 d1                	sub    %edx,%ecx
  40209e:	89 ca                	mov    %ecx,%edx
  4020a0:	44 8d 0c 13          	lea    (%rbx,%rdx,1),%r9d
  4020a4:	41 31 d0             	xor    %edx,%r8d
  4020a7:	44 31 d2             	xor    %r10d,%edx
  4020aa:	44 8b 56 48          	mov    0x48(%rsi),%r10d
  4020ae:	45 0f b7 c0          	movzwl %r8w,%r8d
  4020b2:	45 31 cb             	xor    %r9d,%r11d
  4020b5:	44 31 c8             	xor    %r9d,%eax
  4020b8:	45 89 d1             	mov    %r10d,%r9d
  4020bb:	45 0f af c8          	imul   %r8d,%r9d
  4020bf:	45 85 c9             	test   %r9d,%r9d
  4020c2:	0f 84 90 06 00 00    	je     402758 <idea_encrypt+0x908>
  4020c8:	41 0f b7 c9          	movzwl %r9w,%ecx
  4020cc:	41 c1 e9 10          	shr    $0x10,%r9d
  4020d0:	44 29 c9             	sub    %r9d,%ecx
  4020d3:	41 89 c8             	mov    %ecx,%r8d
  4020d6:	89 cb                	mov    %ecx,%ebx
  4020d8:	41 c1 e8 10          	shr    $0x10,%r8d
  4020dc:	44 29 c3             	sub    %r8d,%ebx
  4020df:	03 46 50             	add    0x50(%rsi),%eax
  4020e2:	44 8b 46 54          	mov    0x54(%rsi),%r8d
  4020e6:	03 56 4c             	add    0x4c(%rsi),%edx
  4020e9:	44 89 c1             	mov    %r8d,%ecx
  4020ec:	41 89 c1             	mov    %eax,%r9d
  4020ef:	41 0f b7 c3          	movzwl %r11w,%eax
  4020f3:	0f af c8             	imul   %eax,%ecx
  4020f6:	85 c9                	test   %ecx,%ecx
  4020f8:	0f 84 42 06 00 00    	je     402740 <idea_encrypt+0x8f0>
  4020fe:	44 0f b7 d9          	movzwl %cx,%r11d
  402102:	c1 e9 10             	shr    $0x10,%ecx
  402105:	41 29 cb             	sub    %ecx,%r11d
  402108:	44 89 d8             	mov    %r11d,%eax
  40210b:	c1 e8 10             	shr    $0x10,%eax
  40210e:	41 29 c3             	sub    %eax,%r11d
  402111:	44 8b 46 58          	mov    0x58(%rsi),%r8d
  402115:	89 d8                	mov    %ebx,%eax
  402117:	44 31 c8             	xor    %r9d,%eax
  40211a:	0f b7 c0             	movzwl %ax,%eax
  40211d:	44 89 c1             	mov    %r8d,%ecx
  402120:	0f af c8             	imul   %eax,%ecx
  402123:	85 c9                	test   %ecx,%ecx
  402125:	0f 84 fd 05 00 00    	je     402728 <idea_encrypt+0x8d8>
  40212b:	44 0f b7 d1          	movzwl %cx,%r10d
  40212f:	c1 e9 10             	shr    $0x10,%ecx
  402132:	41 29 ca             	sub    %ecx,%r10d
  402135:	44 89 d0             	mov    %r10d,%eax
  402138:	c1 e8 10             	shr    $0x10,%eax
  40213b:	41 29 c2             	sub    %eax,%r10d
  40213e:	45 89 d8             	mov    %r11d,%r8d
  402141:	8b 6e 5c             	mov    0x5c(%rsi),%ebp
  402144:	41 31 d0             	xor    %edx,%r8d
  402147:	45 01 d0             	add    %r10d,%r8d
  40214a:	45 0f b7 c0          	movzwl %r8w,%r8d
  40214e:	89 e8                	mov    %ebp,%eax
  402150:	41 0f af c0          	imul   %r8d,%eax
  402154:	85 c0                	test   %eax,%eax
  402156:	0f 84 b4 05 00 00    	je     402710 <idea_encrypt+0x8c0>
  40215c:	0f b7 c8             	movzwl %ax,%ecx
  40215f:	c1 e8 10             	shr    $0x10,%eax
  402162:	29 c1                	sub    %eax,%ecx
  402164:	89 c8                	mov    %ecx,%eax
  402166:	c1 e8 10             	shr    $0x10,%eax
  402169:	29 c1                	sub    %eax,%ecx
  40216b:	89 c8                	mov    %ecx,%eax
  40216d:	41 01 c2             	add    %eax,%r10d
  402170:	31 c3                	xor    %eax,%ebx
  402172:	44 31 c8             	xor    %r9d,%eax
  402175:	45 31 d3             	xor    %r10d,%r11d
  402178:	44 31 d2             	xor    %r10d,%edx
  40217b:	44 8b 56 60          	mov    0x60(%rsi),%r10d
  40217f:	0f b7 cb             	movzwl %bx,%ecx
  402182:	45 89 d1             	mov    %r10d,%r9d
  402185:	44 0f af c9          	imul   %ecx,%r9d
  402189:	45 85 c9             	test   %r9d,%r9d
  40218c:	0f 84 66 05 00 00    	je     4026f8 <idea_encrypt+0x8a8>
  402192:	45 0f b7 c1          	movzwl %r9w,%r8d
  402196:	41 c1 e9 10          	shr    $0x10,%r9d
  40219a:	45 29 c8             	sub    %r9d,%r8d
  40219d:	44 89 c1             	mov    %r8d,%ecx
  4021a0:	c1 e9 10             	shr    $0x10,%ecx
  4021a3:	41 29 c8             	sub    %ecx,%r8d
  4021a6:	03 56 68             	add    0x68(%rsi),%edx
  4021a9:	44 8b 4e 6c          	mov    0x6c(%rsi),%r9d
  4021ad:	03 46 64             	add    0x64(%rsi),%eax
  4021b0:	44 89 c9             	mov    %r9d,%ecx
  4021b3:	41 89 d2             	mov    %edx,%r10d
  4021b6:	41 0f b7 d3          	movzwl %r11w,%edx
  4021ba:	0f af ca             	imul   %edx,%ecx
  4021bd:	85 c9                	test   %ecx,%ecx
  4021bf:	0f 84 1b 05 00 00    	je     4026e0 <idea_encrypt+0x890>
  4021c5:	44 0f b7 d9          	movzwl %cx,%r11d
  4021c9:	c1 e9 10             	shr    $0x10,%ecx
  4021cc:	41 29 cb             	sub    %ecx,%r11d
  4021cf:	44 89 da             	mov    %r11d,%edx
  4021d2:	c1 ea 10             	shr    $0x10,%edx
  4021d5:	41 29 d3             	sub    %edx,%r11d
  4021d8:	8b 6e 70             	mov    0x70(%rsi),%ebp
  4021db:	44 89 c2             	mov    %r8d,%edx
  4021de:	44 31 d2             	xor    %r10d,%edx
  4021e1:	0f b7 d2             	movzwl %dx,%edx
  4021e4:	89 e9                	mov    %ebp,%ecx
  4021e6:	0f af ca             	imul   %edx,%ecx
  4021e9:	85 c9                	test   %ecx,%ecx
  4021eb:	0f 84 d7 04 00 00    	je     4026c8 <idea_encrypt+0x878>
  4021f1:	44 0f b7 c9          	movzwl %cx,%r9d
  4021f5:	c1 e9 10             	shr    $0x10,%ecx
  4021f8:	41 29 c9             	sub    %ecx,%r9d
  4021fb:	44 89 ca             	mov    %r9d,%edx
  4021fe:	44 89 cb             	mov    %r9d,%ebx
  402201:	c1 ea 10             	shr    $0x10,%edx
  402204:	29 d3                	sub    %edx,%ebx
  402206:	45 89 d9             	mov    %r11d,%r9d
  402209:	8b 6e 74             	mov    0x74(%rsi),%ebp
  40220c:	41 31 c1             	xor    %eax,%r9d
  40220f:	41 01 d9             	add    %ebx,%r9d
  402212:	45 0f b7 c9          	movzwl %r9w,%r9d
  402216:	89 ea                	mov    %ebp,%edx
  402218:	41 0f af d1          	imul   %r9d,%edx
  40221c:	85 d2                	test   %edx,%edx
  40221e:	0f 84 8c 04 00 00    	je     4026b0 <idea_encrypt+0x860>
  402224:	0f b7 ca             	movzwl %dx,%ecx
  402227:	c1 ea 10             	shr    $0x10,%edx
  40222a:	29 d1                	sub    %edx,%ecx
  40222c:	89 ca                	mov    %ecx,%edx
  40222e:	c1 ea 10             	shr    $0x10,%edx
  402231:	29 d1                	sub    %edx,%ecx
  402233:	89 ca                	mov    %ecx,%edx
  402235:	44 8d 0c 13          	lea    (%rbx,%rdx,1),%r9d
  402239:	41 31 d0             	xor    %edx,%r8d
  40223c:	44 31 d2             	xor    %r10d,%edx
  40223f:	44 8b 56 78          	mov    0x78(%rsi),%r10d
  402243:	45 0f b7 c0          	movzwl %r8w,%r8d
  402247:	45 31 cb             	xor    %r9d,%r11d
  40224a:	44 31 c8             	xor    %r9d,%eax
  40224d:	45 89 d1             	mov    %r10d,%r9d
  402250:	45 0f af c8          	imul   %r8d,%r9d
  402254:	45 85 c9             	test   %r9d,%r9d
  402257:	0f 84 3b 04 00 00    	je     402698 <idea_encrypt+0x848>
  40225d:	41 0f b7 c9          	movzwl %r9w,%ecx
  402261:	41 c1 e9 10          	shr    $0x10,%r9d
  402265:	44 29 c9             	sub    %r9d,%ecx
  402268:	41 89 c8             	mov    %ecx,%r8d
  40226b:	89 cb                	mov    %ecx,%ebx
  40226d:	41 c1 e8 10          	shr    $0x10,%r8d
  402271:	44 29 c3             	sub    %r8d,%ebx
  402274:	03 86 80 00 00 00    	add    0x80(%rsi),%eax
  40227a:	44 8b 86 84 00 00 00 	mov    0x84(%rsi),%r8d
  402281:	03 56 7c             	add    0x7c(%rsi),%edx
  402284:	44 89 c1             	mov    %r8d,%ecx
  402287:	41 89 c1             	mov    %eax,%r9d
  40228a:	41 0f b7 c3          	movzwl %r11w,%eax
  40228e:	0f af c8             	imul   %eax,%ecx
  402291:	85 c9                	test   %ecx,%ecx
  402293:	0f 84 e7 03 00 00    	je     402680 <idea_encrypt+0x830>
  402299:	44 0f b7 d9          	movzwl %cx,%r11d
  40229d:	c1 e9 10             	shr    $0x10,%ecx
  4022a0:	41 29 cb             	sub    %ecx,%r11d
  4022a3:	44 89 d8             	mov    %r11d,%eax
  4022a6:	c1 e8 10             	shr    $0x10,%eax
  4022a9:	41 29 c3             	sub    %eax,%r11d
  4022ac:	44 8b 86 88 00 00 00 	mov    0x88(%rsi),%r8d
  4022b3:	89 d8                	mov    %ebx,%eax
  4022b5:	44 31 c8             	xor    %r9d,%eax
  4022b8:	0f b7 c0             	movzwl %ax,%eax
  4022bb:	44 89 c1             	mov    %r8d,%ecx
  4022be:	0f af c8             	imul   %eax,%ecx
  4022c1:	85 c9                	test   %ecx,%ecx
  4022c3:	0f 84 9f 03 00 00    	je     402668 <idea_encrypt+0x818>
  4022c9:	44 0f b7 d1          	movzwl %cx,%r10d
  4022cd:	c1 e9 10             	shr    $0x10,%ecx
  4022d0:	41 29 ca             	sub    %ecx,%r10d
  4022d3:	44 89 d0             	mov    %r10d,%eax
  4022d6:	c1 e8 10             	shr    $0x10,%eax
  4022d9:	41 29 c2             	sub    %eax,%r10d
  4022dc:	45 89 d8             	mov    %r11d,%r8d
  4022df:	8b ae 8c 00 00 00    	mov    0x8c(%rsi),%ebp
  4022e5:	41 31 d0             	xor    %edx,%r8d
  4022e8:	45 01 d0             	add    %r10d,%r8d
  4022eb:	45 0f b7 c0          	movzwl %r8w,%r8d
  4022ef:	89 e8                	mov    %ebp,%eax
  4022f1:	41 0f af c0          	imul   %r8d,%eax
  4022f5:	85 c0                	test   %eax,%eax
  4022f7:	0f 84 53 03 00 00    	je     402650 <idea_encrypt+0x800>
  4022fd:	0f b7 c8             	movzwl %ax,%ecx
  402300:	c1 e8 10             	shr    $0x10,%eax
  402303:	29 c1                	sub    %eax,%ecx
  402305:	89 c8                	mov    %ecx,%eax
  402307:	c1 e8 10             	shr    $0x10,%eax
  40230a:	29 c1                	sub    %eax,%ecx
  40230c:	89 c8                	mov    %ecx,%eax
  40230e:	41 01 c2             	add    %eax,%r10d
  402311:	31 c3                	xor    %eax,%ebx
  402313:	44 31 c8             	xor    %r9d,%eax
  402316:	45 31 d3             	xor    %r10d,%r11d
  402319:	44 31 d2             	xor    %r10d,%edx
  40231c:	44 8b 96 90 00 00 00 	mov    0x90(%rsi),%r10d
  402323:	0f b7 cb             	movzwl %bx,%ecx
  402326:	45 89 d1             	mov    %r10d,%r9d
  402329:	44 0f af c9          	imul   %ecx,%r9d
  40232d:	45 85 c9             	test   %r9d,%r9d
  402330:	0f 84 02 03 00 00    	je     402638 <idea_encrypt+0x7e8>
  402336:	45 0f b7 c1          	movzwl %r9w,%r8d
  40233a:	41 c1 e9 10          	shr    $0x10,%r9d
  40233e:	45 29 c8             	sub    %r9d,%r8d
  402341:	44 89 c1             	mov    %r8d,%ecx
  402344:	c1 e9 10             	shr    $0x10,%ecx
  402347:	41 29 c8             	sub    %ecx,%r8d
  40234a:	03 96 98 00 00 00    	add    0x98(%rsi),%edx
  402350:	44 8b 8e 9c 00 00 00 	mov    0x9c(%rsi),%r9d
  402357:	03 86 94 00 00 00    	add    0x94(%rsi),%eax
  40235d:	44 89 c9             	mov    %r9d,%ecx
  402360:	41 89 d2             	mov    %edx,%r10d
  402363:	41 0f b7 d3          	movzwl %r11w,%edx
  402367:	0f af ca             	imul   %edx,%ecx
  40236a:	85 c9                	test   %ecx,%ecx
  40236c:	0f 84 ae 02 00 00    	je     402620 <idea_encrypt+0x7d0>
  402372:	44 0f b7 d9          	movzwl %cx,%r11d
  402376:	c1 e9 10             	shr    $0x10,%ecx
  402379:	41 29 cb             	sub    %ecx,%r11d
  40237c:	44 89 da             	mov    %r11d,%edx
  40237f:	c1 ea 10             	shr    $0x10,%edx
  402382:	41 29 d3             	sub    %edx,%r11d
  402385:	8b ae a0 00 00 00    	mov    0xa0(%rsi),%ebp
  40238b:	44 89 c2             	mov    %r8d,%edx
  40238e:	44 31 d2             	xor    %r10d,%edx
  402391:	0f b7 d2             	movzwl %dx,%edx
  402394:	89 e9                	mov    %ebp,%ecx
  402396:	0f af ca             	imul   %edx,%ecx
  402399:	85 c9                	test   %ecx,%ecx
  40239b:	0f 84 67 02 00 00    	je     402608 <idea_encrypt+0x7b8>
  4023a1:	44 0f b7 c9          	movzwl %cx,%r9d
  4023a5:	c1 e9 10             	shr    $0x10,%ecx
  4023a8:	41 29 c9             	sub    %ecx,%r9d
  4023ab:	44 89 ca             	mov    %r9d,%edx
  4023ae:	44 89 cb             	mov    %r9d,%ebx
  4023b1:	c1 ea 10             	shr    $0x10,%edx
  4023b4:	29 d3                	sub    %edx,%ebx
  4023b6:	45 89 d9             	mov    %r11d,%r9d
  4023b9:	8b ae a4 00 00 00    	mov    0xa4(%rsi),%ebp
  4023bf:	41 31 c1             	xor    %eax,%r9d
  4023c2:	41 01 d9             	add    %ebx,%r9d
  4023c5:	45 0f b7 c9          	movzwl %r9w,%r9d
  4023c9:	89 ea                	mov    %ebp,%edx
  4023cb:	41 0f af d1          	imul   %r9d,%edx
  4023cf:	85 d2                	test   %edx,%edx
  4023d1:	0f 84 19 02 00 00    	je     4025f0 <idea_encrypt+0x7a0>
  4023d7:	0f b7 ca             	movzwl %dx,%ecx
  4023da:	c1 ea 10             	shr    $0x10,%edx
  4023dd:	29 d1                	sub    %edx,%ecx
  4023df:	89 ca                	mov    %ecx,%edx
  4023e1:	c1 ea 10             	shr    $0x10,%edx
  4023e4:	29 d1                	sub    %edx,%ecx
  4023e6:	89 ca                	mov    %ecx,%edx
  4023e8:	44 8d 0c 13          	lea    (%rbx,%rdx,1),%r9d
  4023ec:	41 31 d0             	xor    %edx,%r8d
  4023ef:	44 31 d2             	xor    %r10d,%edx
  4023f2:	44 8b 96 a8 00 00 00 	mov    0xa8(%rsi),%r10d
  4023f9:	45 0f b7 c0          	movzwl %r8w,%r8d
  4023fd:	45 31 cb             	xor    %r9d,%r11d
  402400:	44 31 c8             	xor    %r9d,%eax
  402403:	45 89 d1             	mov    %r10d,%r9d
  402406:	45 0f af c8          	imul   %r8d,%r9d
  40240a:	45 85 c9             	test   %r9d,%r9d
  40240d:	0f 84 c5 01 00 00    	je     4025d8 <idea_encrypt+0x788>
  402413:	41 0f b7 c9          	movzwl %r9w,%ecx
  402417:	41 c1 e9 10          	shr    $0x10,%r9d
  40241b:	44 29 c9             	sub    %r9d,%ecx
  40241e:	41 89 c8             	mov    %ecx,%r8d
  402421:	41 c1 e8 10          	shr    $0x10,%r8d
  402425:	44 29 c1             	sub    %r8d,%ecx
  402428:	03 96 ac 00 00 00    	add    0xac(%rsi),%edx
  40242e:	03 86 b0 00 00 00    	add    0xb0(%rsi),%eax
  402434:	44 8b 86 b4 00 00 00 	mov    0xb4(%rsi),%r8d
  40243b:	41 89 d2             	mov    %edx,%r10d
  40243e:	41 89 c1             	mov    %eax,%r9d
  402441:	44 89 c2             	mov    %r8d,%edx
  402444:	41 0f b7 c3          	movzwl %r11w,%eax
  402448:	0f af d0             	imul   %eax,%edx
  40244b:	85 d2                	test   %edx,%edx
  40244d:	0f 84 6d 01 00 00    	je     4025c0 <idea_encrypt+0x770>
  402453:	44 0f b7 da          	movzwl %dx,%r11d
  402457:	c1 ea 10             	shr    $0x10,%edx
  40245a:	41 29 d3             	sub    %edx,%r11d
  40245d:	44 89 d8             	mov    %r11d,%eax
  402460:	c1 e8 10             	shr    $0x10,%eax
  402463:	41 29 c3             	sub    %eax,%r11d
  402466:	8b ae b8 00 00 00    	mov    0xb8(%rsi),%ebp
  40246c:	89 c8                	mov    %ecx,%eax
  40246e:	44 31 c8             	xor    %r9d,%eax
  402471:	0f b7 c0             	movzwl %ax,%eax
  402474:	41 89 e8             	mov    %ebp,%r8d
  402477:	44 0f af c0          	imul   %eax,%r8d
  40247b:	45 85 c0             	test   %r8d,%r8d
  40247e:	0f 84 24 01 00 00    	je     4025a8 <idea_encrypt+0x758>
  402484:	41 0f b7 d0          	movzwl %r8w,%edx
  402488:	41 c1 e8 10          	shr    $0x10,%r8d
  40248c:	44 29 c2             	sub    %r8d,%edx
  40248f:	89 d0                	mov    %edx,%eax
  402491:	89 d3                	mov    %edx,%ebx
  402493:	c1 e8 10             	shr    $0x10,%eax
  402496:	29 c3                	sub    %eax,%ebx
  402498:	45 89 d8             	mov    %r11d,%r8d
  40249b:	8b ae bc 00 00 00    	mov    0xbc(%rsi),%ebp
  4024a1:	45 31 d0             	xor    %r10d,%r8d
  4024a4:	41 01 d8             	add    %ebx,%r8d
  4024a7:	45 0f b7 c0          	movzwl %r8w,%r8d
  4024ab:	89 e8                	mov    %ebp,%eax
  4024ad:	41 0f af c0          	imul   %r8d,%eax
  4024b1:	85 c0                	test   %eax,%eax
  4024b3:	0f 84 d7 00 00 00    	je     402590 <idea_encrypt+0x740>
  4024b9:	0f b7 d0             	movzwl %ax,%edx
  4024bc:	c1 e8 10             	shr    $0x10,%eax
  4024bf:	29 c2                	sub    %eax,%edx
  4024c1:	89 d0                	mov    %edx,%eax
  4024c3:	c1 e8 10             	shr    $0x10,%eax
  4024c6:	29 c2                	sub    %eax,%edx
  4024c8:	89 d0                	mov    %edx,%eax
  4024ca:	8d 14 03             	lea    (%rbx,%rax,1),%edx
  4024cd:	31 c1                	xor    %eax,%ecx
  4024cf:	44 31 c8             	xor    %r9d,%eax
  4024d2:	0f b7 c9             	movzwl %cx,%ecx
  4024d5:	41 31 d3             	xor    %edx,%r11d
  4024d8:	44 31 d2             	xor    %r10d,%edx
  4024db:	44 8b 96 c0 00 00 00 	mov    0xc0(%rsi),%r10d
  4024e2:	45 89 d1             	mov    %r10d,%r9d
  4024e5:	44 0f af c9          	imul   %ecx,%r9d
  4024e9:	45 85 c9             	test   %r9d,%r9d
  4024ec:	0f 84 86 00 00 00    	je     402578 <idea_encrypt+0x728>
  4024f2:	45 0f b7 c1          	movzwl %r9w,%r8d
  4024f6:	41 c1 e9 10          	shr    $0x10,%r9d
  4024fa:	45 29 c8             	sub    %r9d,%r8d
  4024fd:	44 89 c1             	mov    %r8d,%ecx
  402500:	c1 e9 10             	shr    $0x10,%ecx
  402503:	41 29 c8             	sub    %ecx,%r8d
  402506:	44 8b 8e cc 00 00 00 	mov    0xcc(%rsi),%r9d
  40250d:	03 86 c8 00 00 00    	add    0xc8(%rsi),%eax
  402513:	45 0f b7 db          	movzwl %r11w,%r11d
  402517:	03 96 c4 00 00 00    	add    0xc4(%rsi),%edx
  40251d:	44 89 ce             	mov    %r9d,%esi
  402520:	41 0f af f3          	imul   %r11d,%esi
  402524:	89 c1                	mov    %eax,%ecx
  402526:	85 f6                	test   %esi,%esi
  402528:	0f 85 4a 03 00 00    	jne    402878 <idea_encrypt+0xa28>
  40252e:	b8 01 00 00 00       	mov    $0x1,%eax
  402533:	44 29 c8             	sub    %r9d,%eax
  402536:	44 29 d8             	sub    %r11d,%eax
  402539:	44 89 c6             	mov    %r8d,%esi
  40253c:	0f b7 d2             	movzwl %dx,%edx
  40253f:	0f b7 c0             	movzwl %ax,%eax
  402542:	c1 e6 10             	shl    $0x10,%esi
  402545:	09 f2                	or     %esi,%edx
  402547:	89 17                	mov    %edx,(%rdi)
  402549:	89 ca                	mov    %ecx,%edx
  40254b:	c1 e2 10             	shl    $0x10,%edx
  40254e:	09 d0                	or     %edx,%eax
  402550:	5b                   	pop    %rbx
  402551:	89 47 04             	mov    %eax,0x4(%rdi)
  402554:	5d                   	pop    %rbp
  402555:	c3                   	retq   
  402556:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
  40255d:	00 00 00 
  402560:	41 b8 01 00 00 00    	mov    $0x1,%r8d
  402566:	45 29 c8             	sub    %r9d,%r8d
  402569:	41 29 c0             	sub    %eax,%r8d
  40256c:	e9 19 f9 ff ff       	jmpq   401e8a <idea_encrypt+0x3a>
  402571:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  402578:	41 b8 01 00 00 00    	mov    $0x1,%r8d
  40257e:	45 29 d0             	sub    %r10d,%r8d
  402581:	41 29 c8             	sub    %ecx,%r8d
  402584:	eb 80                	jmp    402506 <idea_encrypt+0x6b6>
  402586:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
  40258d:	00 00 00 
  402590:	ba 01 00 00 00       	mov    $0x1,%edx
  402595:	29 ea                	sub    %ebp,%edx
  402597:	89 d0                	mov    %edx,%eax
  402599:	44 29 c0             	sub    %r8d,%eax
  40259c:	e9 29 ff ff ff       	jmpq   4024ca <idea_encrypt+0x67a>
  4025a1:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  4025a8:	ba 01 00 00 00       	mov    $0x1,%edx
  4025ad:	29 ea                	sub    %ebp,%edx
  4025af:	89 d3                	mov    %edx,%ebx
  4025b1:	29 c3                	sub    %eax,%ebx
  4025b3:	e9 e0 fe ff ff       	jmpq   402498 <idea_encrypt+0x648>
  4025b8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
  4025bf:	00 
  4025c0:	41 bb 01 00 00 00    	mov    $0x1,%r11d
  4025c6:	45 29 c3             	sub    %r8d,%r11d
  4025c9:	41 29 c3             	sub    %eax,%r11d
  4025cc:	e9 95 fe ff ff       	jmpq   402466 <idea_encrypt+0x616>
  4025d1:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  4025d8:	b9 01 00 00 00       	mov    $0x1,%ecx
  4025dd:	44 29 d1             	sub    %r10d,%ecx
  4025e0:	44 29 c1             	sub    %r8d,%ecx
  4025e3:	e9 40 fe ff ff       	jmpq   402428 <idea_encrypt+0x5d8>
  4025e8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
  4025ef:	00 
  4025f0:	b9 01 00 00 00       	mov    $0x1,%ecx
  4025f5:	29 e9                	sub    %ebp,%ecx
  4025f7:	44 29 c9             	sub    %r9d,%ecx
  4025fa:	89 ca                	mov    %ecx,%edx
  4025fc:	e9 e7 fd ff ff       	jmpq   4023e8 <idea_encrypt+0x598>
  402601:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  402608:	41 b9 01 00 00 00    	mov    $0x1,%r9d
  40260e:	41 29 e9             	sub    %ebp,%r9d
  402611:	44 89 cb             	mov    %r9d,%ebx
  402614:	29 d3                	sub    %edx,%ebx
  402616:	e9 9b fd ff ff       	jmpq   4023b6 <idea_encrypt+0x566>
  40261b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
  402620:	41 bb 01 00 00 00    	mov    $0x1,%r11d
  402626:	45 29 cb             	sub    %r9d,%r11d
  402629:	41 29 d3             	sub    %edx,%r11d
  40262c:	e9 54 fd ff ff       	jmpq   402385 <idea_encrypt+0x535>
  402631:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  402638:	41 b8 01 00 00 00    	mov    $0x1,%r8d
  40263e:	45 29 d0             	sub    %r10d,%r8d
  402641:	41 29 c8             	sub    %ecx,%r8d
  402644:	e9 01 fd ff ff       	jmpq   40234a <idea_encrypt+0x4fa>
  402649:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  402650:	b9 01 00 00 00       	mov    $0x1,%ecx
  402655:	29 e9                	sub    %ebp,%ecx
  402657:	89 c8                	mov    %ecx,%eax
  402659:	44 29 c0             	sub    %r8d,%eax
  40265c:	e9 ad fc ff ff       	jmpq   40230e <idea_encrypt+0x4be>
  402661:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  402668:	41 ba 01 00 00 00    	mov    $0x1,%r10d
  40266e:	45 29 c2             	sub    %r8d,%r10d
  402671:	41 29 c2             	sub    %eax,%r10d
  402674:	e9 63 fc ff ff       	jmpq   4022dc <idea_encrypt+0x48c>
  402679:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  402680:	41 bb 01 00 00 00    	mov    $0x1,%r11d
  402686:	45 29 c3             	sub    %r8d,%r11d
  402689:	41 29 c3             	sub    %eax,%r11d
  40268c:	e9 1b fc ff ff       	jmpq   4022ac <idea_encrypt+0x45c>
  402691:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  402698:	b9 01 00 00 00       	mov    $0x1,%ecx
  40269d:	44 29 d1             	sub    %r10d,%ecx
  4026a0:	89 cb                	mov    %ecx,%ebx
  4026a2:	44 29 c3             	sub    %r8d,%ebx
  4026a5:	e9 ca fb ff ff       	jmpq   402274 <idea_encrypt+0x424>
  4026aa:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
  4026b0:	b9 01 00 00 00       	mov    $0x1,%ecx
  4026b5:	29 e9                	sub    %ebp,%ecx
  4026b7:	89 ca                	mov    %ecx,%edx
  4026b9:	44 29 ca             	sub    %r9d,%edx
  4026bc:	e9 74 fb ff ff       	jmpq   402235 <idea_encrypt+0x3e5>
  4026c1:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  4026c8:	41 b9 01 00 00 00    	mov    $0x1,%r9d
  4026ce:	41 29 e9             	sub    %ebp,%r9d
  4026d1:	44 89 cb             	mov    %r9d,%ebx
  4026d4:	29 d3                	sub    %edx,%ebx
  4026d6:	e9 2b fb ff ff       	jmpq   402206 <idea_encrypt+0x3b6>
  4026db:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
  4026e0:	41 bb 01 00 00 00    	mov    $0x1,%r11d
  4026e6:	45 29 cb             	sub    %r9d,%r11d
  4026e9:	41 29 d3             	sub    %edx,%r11d
  4026ec:	e9 e7 fa ff ff       	jmpq   4021d8 <idea_encrypt+0x388>
  4026f1:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  4026f8:	41 b8 01 00 00 00    	mov    $0x1,%r8d
  4026fe:	45 29 d0             	sub    %r10d,%r8d
  402701:	41 29 c8             	sub    %ecx,%r8d
  402704:	e9 9d fa ff ff       	jmpq   4021a6 <idea_encrypt+0x356>
  402709:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  402710:	b9 01 00 00 00       	mov    $0x1,%ecx
  402715:	29 e9                	sub    %ebp,%ecx
  402717:	89 c8                	mov    %ecx,%eax
  402719:	44 29 c0             	sub    %r8d,%eax
  40271c:	e9 4c fa ff ff       	jmpq   40216d <idea_encrypt+0x31d>
  402721:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  402728:	41 ba 01 00 00 00    	mov    $0x1,%r10d
  40272e:	45 29 c2             	sub    %r8d,%r10d
  402731:	41 29 c2             	sub    %eax,%r10d
  402734:	e9 05 fa ff ff       	jmpq   40213e <idea_encrypt+0x2ee>
  402739:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  402740:	41 bb 01 00 00 00    	mov    $0x1,%r11d
  402746:	45 29 c3             	sub    %r8d,%r11d
  402749:	41 29 c3             	sub    %eax,%r11d
  40274c:	e9 c0 f9 ff ff       	jmpq   402111 <idea_encrypt+0x2c1>
  402751:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  402758:	b9 01 00 00 00       	mov    $0x1,%ecx
  40275d:	44 29 d1             	sub    %r10d,%ecx
  402760:	89 cb                	mov    %ecx,%ebx
  402762:	44 29 c3             	sub    %r8d,%ebx
  402765:	e9 75 f9 ff ff       	jmpq   4020df <idea_encrypt+0x28f>
  40276a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
  402770:	b9 01 00 00 00       	mov    $0x1,%ecx
  402775:	29 e9                	sub    %ebp,%ecx
  402777:	44 29 c9             	sub    %r9d,%ecx
  40277a:	89 ca                	mov    %ecx,%edx
  40277c:	e9 1f f9 ff ff       	jmpq   4020a0 <idea_encrypt+0x250>
  402781:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  402788:	41 b9 01 00 00 00    	mov    $0x1,%r9d
  40278e:	41 29 e9             	sub    %ebp,%r9d
  402791:	44 89 cb             	mov    %r9d,%ebx
  402794:	29 d3                	sub    %edx,%ebx
  402796:	e9 d6 f8 ff ff       	jmpq   402071 <idea_encrypt+0x221>
  40279b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
  4027a0:	41 bb 01 00 00 00    	mov    $0x1,%r11d
  4027a6:	45 29 cb             	sub    %r9d,%r11d
  4027a9:	41 29 d3             	sub    %edx,%r11d
  4027ac:	e9 92 f8 ff ff       	jmpq   402043 <idea_encrypt+0x1f3>
  4027b1:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  4027b8:	41 b8 01 00 00 00    	mov    $0x1,%r8d
  4027be:	45 29 d0             	sub    %r10d,%r8d
  4027c1:	41 29 c8             	sub    %ecx,%r8d
  4027c4:	e9 48 f8 ff ff       	jmpq   402011 <idea_encrypt+0x1c1>
  4027c9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  4027d0:	b9 01 00 00 00       	mov    $0x1,%ecx
  4027d5:	29 e9                	sub    %ebp,%ecx
  4027d7:	89 c8                	mov    %ecx,%eax
  4027d9:	44 29 c0             	sub    %r8d,%eax
  4027dc:	e9 f7 f7 ff ff       	jmpq   401fd8 <idea_encrypt+0x188>
  4027e1:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  4027e8:	41 ba 01 00 00 00    	mov    $0x1,%r10d
  4027ee:	45 29 c2             	sub    %r8d,%r10d
  4027f1:	41 29 c2             	sub    %eax,%r10d
  4027f4:	e9 b0 f7 ff ff       	jmpq   401fa9 <idea_encrypt+0x159>
  4027f9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  402800:	41 bb 01 00 00 00    	mov    $0x1,%r11d
  402806:	41 29 cb             	sub    %ecx,%r11d
  402809:	45 29 d3             	sub    %r10d,%r11d
  40280c:	e9 6b f7 ff ff       	jmpq   401f7c <idea_encrypt+0x12c>
  402811:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  402818:	b9 01 00 00 00       	mov    $0x1,%ecx
  40281d:	44 29 d9             	sub    %r11d,%ecx
  402820:	89 cb                	mov    %ecx,%ebx
  402822:	44 29 c3             	sub    %r8d,%ebx
  402825:	e9 21 f7 ff ff       	jmpq   401f4b <idea_encrypt+0xfb>
  40282a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
  402830:	b9 01 00 00 00       	mov    $0x1,%ecx
  402835:	29 e9                	sub    %ebp,%ecx
  402837:	89 ca                	mov    %ecx,%edx
  402839:	44 29 ca             	sub    %r9d,%edx
  40283c:	e9 ce f6 ff ff       	jmpq   401f0f <idea_encrypt+0xbf>
  402841:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  402848:	b8 01 00 00 00       	mov    $0x1,%eax
  40284d:	29 e8                	sub    %ebp,%eax
  40284f:	29 d0                	sub    %edx,%eax
  402851:	e9 8a f6 ff ff       	jmpq   401ee0 <idea_encrypt+0x90>
  402856:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
  40285d:	00 00 00 
  402860:	41 ba 01 00 00 00    	mov    $0x1,%r10d
  402866:	41 29 d2             	sub    %edx,%r10d
  402869:	41 29 ca             	sub    %ecx,%r10d
  40286c:	e9 48 f6 ff ff       	jmpq   401eb9 <idea_encrypt+0x69>
  402871:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  402878:	0f b7 c6             	movzwl %si,%eax
  40287b:	c1 ee 10             	shr    $0x10,%esi
  40287e:	29 f0                	sub    %esi,%eax
  402880:	89 c6                	mov    %eax,%esi
  402882:	c1 ee 10             	shr    $0x10,%esi
  402885:	29 f0                	sub    %esi,%eax
  402887:	e9 ad fc ff ff       	jmpq   402539 <idea_encrypt+0x6e9>
  40288c:	0f 1f 40 00          	nopl   0x0(%rax)

0000000000402890 <idea_ecb_encrypt>:
  402890:	53                   	push   %rbx
  402891:	48 89 f3             	mov    %rsi,%rbx
  402894:	48 89 d6             	mov    %rdx,%rsi
  402897:	48 83 ec 10          	sub    $0x10,%rsp
  40289b:	8b 07                	mov    (%rdi),%eax
  40289d:	0f c8                	bswap  %eax
  40289f:	89 44 24 08          	mov    %eax,0x8(%rsp)
  4028a3:	8b 47 04             	mov    0x4(%rdi),%eax
  4028a6:	48 8d 7c 24 08       	lea    0x8(%rsp),%rdi
  4028ab:	0f c8                	bswap  %eax
  4028ad:	89 44 24 0c          	mov    %eax,0xc(%rsp)
  4028b1:	e8 6a e5 ff ff       	callq  400e20 <idea_encrypt@plt>
  4028b6:	8b 44 24 08          	mov    0x8(%rsp),%eax
  4028ba:	89 c2                	mov    %eax,%edx
  4028bc:	88 63 02             	mov    %ah,0x2(%rbx)
  4028bf:	88 43 03             	mov    %al,0x3(%rbx)
  4028c2:	c1 ea 18             	shr    $0x18,%edx
  4028c5:	88 13                	mov    %dl,(%rbx)
  4028c7:	89 c2                	mov    %eax,%edx
  4028c9:	8b 44 24 0c          	mov    0xc(%rsp),%eax
  4028cd:	c1 ea 10             	shr    $0x10,%edx
  4028d0:	88 53 01             	mov    %dl,0x1(%rbx)
  4028d3:	89 c2                	mov    %eax,%edx
  4028d5:	88 63 06             	mov    %ah,0x6(%rbx)
  4028d8:	88 43 07             	mov    %al,0x7(%rbx)
  4028db:	c1 ea 18             	shr    $0x18,%edx
  4028de:	88 53 04             	mov    %dl,0x4(%rbx)
  4028e1:	89 c2                	mov    %eax,%edx
  4028e3:	c1 ea 10             	shr    $0x10,%edx
  4028e6:	88 53 05             	mov    %dl,0x5(%rbx)
  4028e9:	48 83 c4 10          	add    $0x10,%rsp
  4028ed:	5b                   	pop    %rbx
  4028ee:	c3                   	retq   
  4028ef:	90                   	nop

00000000004028f0 <idea_set_encrypt_key>:
  4028f0:	41 54                	push   %r12
  4028f2:	55                   	push   %rbp
  4028f3:	53                   	push   %rbx
  4028f4:	0f b6 07             	movzbl (%rdi),%eax
  4028f7:	c1 e0 08             	shl    $0x8,%eax
  4028fa:	89 06                	mov    %eax,(%rsi)
  4028fc:	0f b6 57 01          	movzbl 0x1(%rdi),%edx
  402900:	09 d0                	or     %edx,%eax
  402902:	89 06                	mov    %eax,(%rsi)
  402904:	44 0f b6 67 02       	movzbl 0x2(%rdi),%r12d
  402909:	41 c1 e4 08          	shl    $0x8,%r12d
  40290d:	44 89 66 04          	mov    %r12d,0x4(%rsi)
  402911:	0f b6 57 03          	movzbl 0x3(%rdi),%edx
  402915:	41 09 d4             	or     %edx,%r12d
  402918:	44 89 66 04          	mov    %r12d,0x4(%rsi)
  40291c:	0f b6 57 04          	movzbl 0x4(%rdi),%edx
  402920:	c1 e2 08             	shl    $0x8,%edx
  402923:	89 56 08             	mov    %edx,0x8(%rsi)
  402926:	0f b6 5f 05          	movzbl 0x5(%rdi),%ebx
  40292a:	09 da                	or     %ebx,%edx
  40292c:	89 56 08             	mov    %edx,0x8(%rsi)
  40292f:	44 0f b6 57 06       	movzbl 0x6(%rdi),%r10d
  402934:	41 89 d0             	mov    %edx,%r8d
  402937:	c1 e2 09             	shl    $0x9,%edx
  40293a:	41 c1 e8 07          	shr    $0x7,%r8d
  40293e:	41 c1 e2 08          	shl    $0x8,%r10d
  402942:	44 89 56 0c          	mov    %r10d,0xc(%rsi)
  402946:	0f b6 4f 07          	movzbl 0x7(%rdi),%ecx
  40294a:	41 09 ca             	or     %ecx,%r10d
  40294d:	44 89 56 0c          	mov    %r10d,0xc(%rsi)
  402951:	44 0f b6 5f 08       	movzbl 0x8(%rdi),%r11d
  402956:	44 89 d3             	mov    %r10d,%ebx
  402959:	c1 eb 07             	shr    $0x7,%ebx
  40295c:	41 c1 e2 09          	shl    $0x9,%r10d
  402960:	09 da                	or     %ebx,%edx
  402962:	0f b7 da             	movzwl %dx,%ebx
  402965:	41 c1 e3 08          	shl    $0x8,%r11d
  402969:	44 89 5e 10          	mov    %r11d,0x10(%rsi)
  40296d:	0f b6 4f 09          	movzbl 0x9(%rdi),%ecx
  402971:	41 09 cb             	or     %ecx,%r11d
  402974:	44 89 5e 10          	mov    %r11d,0x10(%rsi)
  402978:	0f b6 6f 0a          	movzbl 0xa(%rdi),%ebp
  40297c:	44 89 da             	mov    %r11d,%edx
  40297f:	c1 ea 07             	shr    $0x7,%edx
  402982:	41 c1 e3 09          	shl    $0x9,%r11d
  402986:	41 09 d2             	or     %edx,%r10d
  402989:	41 81 e2 ff ff 00 00 	and    $0xffff,%r10d
  402990:	c1 e5 08             	shl    $0x8,%ebp
  402993:	89 6e 14             	mov    %ebp,0x14(%rsi)
  402996:	0f b6 4f 0b          	movzbl 0xb(%rdi),%ecx
  40299a:	09 cd                	or     %ecx,%ebp
  40299c:	89 6e 14             	mov    %ebp,0x14(%rsi)
  40299f:	44 0f b6 4f 0c       	movzbl 0xc(%rdi),%r9d
  4029a4:	89 ea                	mov    %ebp,%edx
  4029a6:	c1 ea 07             	shr    $0x7,%edx
  4029a9:	c1 e5 09             	shl    $0x9,%ebp
  4029ac:	41 09 d3             	or     %edx,%r11d
  4029af:	41 81 e3 ff ff 00 00 	and    $0xffff,%r11d
  4029b6:	41 c1 e1 08          	shl    $0x8,%r9d
  4029ba:	44 89 4e 18          	mov    %r9d,0x18(%rsi)
  4029be:	0f b6 4f 0d          	movzbl 0xd(%rdi),%ecx
  4029c2:	41 09 c9             	or     %ecx,%r9d
  4029c5:	44 89 4e 18          	mov    %r9d,0x18(%rsi)
  4029c9:	0f b6 4f 0e          	movzbl 0xe(%rdi),%ecx
  4029cd:	44 89 ca             	mov    %r9d,%edx
  4029d0:	c1 e1 08             	shl    $0x8,%ecx
  4029d3:	89 4e 1c             	mov    %ecx,0x1c(%rsi)
  4029d6:	0f b6 7f 0f          	movzbl 0xf(%rdi),%edi
  4029da:	44 89 56 28          	mov    %r10d,0x28(%rsi)
  4029de:	44 89 5e 2c          	mov    %r11d,0x2c(%rsi)
  4029e2:	89 5e 24             	mov    %ebx,0x24(%rsi)
  4029e5:	09 f9                	or     %edi,%ecx
  4029e7:	44 89 e7             	mov    %r12d,%edi
  4029ea:	c1 e7 09             	shl    $0x9,%edi
  4029ed:	89 4e 1c             	mov    %ecx,0x1c(%rsi)
  4029f0:	41 09 f8             	or     %edi,%r8d
  4029f3:	89 df                	mov    %ebx,%edi
  4029f5:	41 81 e0 ff ff 00 00 	and    $0xffff,%r8d
  4029fc:	c1 ea 07             	shr    $0x7,%edx
  4029ff:	41 c1 e1 09          	shl    $0x9,%r9d
  402a03:	09 d5                	or     %edx,%ebp
  402a05:	89 ca                	mov    %ecx,%edx
  402a07:	c1 e1 09             	shl    $0x9,%ecx
  402a0a:	c1 ea 07             	shr    $0x7,%edx
  402a0d:	c1 e7 09             	shl    $0x9,%edi
  402a10:	81 e5 ff ff 00 00    	and    $0xffff,%ebp
  402a16:	41 09 d1             	or     %edx,%r9d
  402a19:	89 c2                	mov    %eax,%edx
  402a1b:	c1 e0 09             	shl    $0x9,%eax
  402a1e:	c1 ea 07             	shr    $0x7,%edx
  402a21:	41 81 e1 ff ff 00 00 	and    $0xffff,%r9d
  402a28:	89 6e 30             	mov    %ebp,0x30(%rsi)
  402a2b:	09 d1                	or     %edx,%ecx
  402a2d:	44 89 e2             	mov    %r12d,%edx
  402a30:	44 89 4e 34          	mov    %r9d,0x34(%rsi)
  402a34:	c1 ea 07             	shr    $0x7,%edx
  402a37:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
  402a3d:	44 89 46 20          	mov    %r8d,0x20(%rsi)
  402a41:	09 d0                	or     %edx,%eax
  402a43:	89 4e 38             	mov    %ecx,0x38(%rsi)
  402a46:	0f b7 d0             	movzwl %ax,%edx
  402a49:	44 89 d0             	mov    %r10d,%eax
  402a4c:	41 c1 e2 09          	shl    $0x9,%r10d
  402a50:	c1 e8 07             	shr    $0x7,%eax
  402a53:	89 56 3c             	mov    %edx,0x3c(%rsi)
  402a56:	09 c7                	or     %eax,%edi
  402a58:	44 89 d8             	mov    %r11d,%eax
  402a5b:	41 c1 e3 09          	shl    $0x9,%r11d
  402a5f:	c1 e8 07             	shr    $0x7,%eax
  402a62:	81 e7 ff ff 00 00    	and    $0xffff,%edi
  402a68:	41 09 c2             	or     %eax,%r10d
  402a6b:	89 e8                	mov    %ebp,%eax
  402a6d:	c1 e5 09             	shl    $0x9,%ebp
  402a70:	c1 e8 07             	shr    $0x7,%eax
  402a73:	41 81 e2 ff ff 00 00 	and    $0xffff,%r10d
  402a7a:	89 7e 40             	mov    %edi,0x40(%rsi)
  402a7d:	41 09 c3             	or     %eax,%r11d
  402a80:	44 89 c8             	mov    %r9d,%eax
  402a83:	41 c1 e1 09          	shl    $0x9,%r9d
  402a87:	c1 e8 07             	shr    $0x7,%eax
  402a8a:	41 81 e3 ff ff 00 00 	and    $0xffff,%r11d
  402a91:	44 89 56 44          	mov    %r10d,0x44(%rsi)
  402a95:	09 c5                	or     %eax,%ebp
  402a97:	44 89 5e 48          	mov    %r11d,0x48(%rsi)
  402a9b:	0f b7 c5             	movzwl %bp,%eax
  402a9e:	89 cd                	mov    %ecx,%ebp
  402aa0:	c1 ed 07             	shr    $0x7,%ebp
  402aa3:	89 46 4c             	mov    %eax,0x4c(%rsi)
  402aa6:	41 09 e9             	or     %ebp,%r9d
  402aa9:	89 d5                	mov    %edx,%ebp
  402aab:	41 81 e1 ff ff 00 00 	and    $0xffff,%r9d
  402ab2:	c1 ed 07             	shr    $0x7,%ebp
  402ab5:	c1 e1 09             	shl    $0x9,%ecx
  402ab8:	09 e9                	or     %ebp,%ecx
  402aba:	44 89 c5             	mov    %r8d,%ebp
  402abd:	c1 eb 07             	shr    $0x7,%ebx
  402ac0:	c1 ed 07             	shr    $0x7,%ebp
  402ac3:	c1 e2 09             	shl    $0x9,%edx
  402ac6:	41 c1 e0 09          	shl    $0x9,%r8d
  402aca:	09 ea                	or     %ebp,%edx
  402acc:	41 09 d8             	or     %ebx,%r8d
  402acf:	44 89 dd             	mov    %r11d,%ebp
  402ad2:	44 89 d3             	mov    %r10d,%ebx
  402ad5:	c1 ed 07             	shr    $0x7,%ebp
  402ad8:	41 c1 e3 09          	shl    $0x9,%r11d
  402adc:	c1 e3 09             	shl    $0x9,%ebx
  402adf:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
  402ae5:	81 e2 ff ff 00 00    	and    $0xffff,%edx
  402aeb:	09 eb                	or     %ebp,%ebx
  402aed:	89 c5                	mov    %eax,%ebp
  402aef:	c1 e0 09             	shl    $0x9,%eax
  402af2:	c1 ed 07             	shr    $0x7,%ebp
  402af5:	44 89 4e 50          	mov    %r9d,0x50(%rsi)
  402af9:	41 81 e0 ff ff 00 00 	and    $0xffff,%r8d
  402b00:	41 09 eb             	or     %ebp,%r11d
  402b03:	44 89 cd             	mov    %r9d,%ebp
  402b06:	41 c1 e1 09          	shl    $0x9,%r9d
  402b0a:	c1 ed 07             	shr    $0x7,%ebp
  402b0d:	89 4e 54             	mov    %ecx,0x54(%rsi)
  402b10:	81 e3 ff ff 00 00    	and    $0xffff,%ebx
  402b16:	09 e8                	or     %ebp,%eax
  402b18:	89 cd                	mov    %ecx,%ebp
  402b1a:	c1 e1 09             	shl    $0x9,%ecx
  402b1d:	c1 ed 07             	shr    $0x7,%ebp
  402b20:	41 81 e3 ff ff 00 00 	and    $0xffff,%r11d
  402b27:	25 ff ff 00 00       	and    $0xffff,%eax
  402b2c:	41 09 e9             	or     %ebp,%r9d
  402b2f:	89 d5                	mov    %edx,%ebp
  402b31:	89 56 58             	mov    %edx,0x58(%rsi)
  402b34:	c1 ed 07             	shr    $0x7,%ebp
  402b37:	41 81 e1 ff ff 00 00 	and    $0xffff,%r9d
  402b3e:	44 89 46 5c          	mov    %r8d,0x5c(%rsi)
  402b42:	09 e9                	or     %ebp,%ecx
  402b44:	44 89 c5             	mov    %r8d,%ebp
  402b47:	89 46 68             	mov    %eax,0x68(%rsi)
  402b4a:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
  402b50:	c1 ed 07             	shr    $0x7,%ebp
  402b53:	c1 e2 09             	shl    $0x9,%edx
  402b56:	09 ea                	or     %ebp,%edx
  402b58:	89 fd                	mov    %edi,%ebp
  402b5a:	41 c1 ea 07          	shr    $0x7,%r10d
  402b5e:	c1 ed 07             	shr    $0x7,%ebp
  402b61:	41 c1 e0 09          	shl    $0x9,%r8d
  402b65:	c1 e7 09             	shl    $0x9,%edi
  402b68:	41 09 e8             	or     %ebp,%r8d
  402b6b:	44 09 d7             	or     %r10d,%edi
  402b6e:	89 c5                	mov    %eax,%ebp
  402b70:	45 89 da             	mov    %r11d,%r10d
  402b73:	c1 ed 07             	shr    $0x7,%ebp
  402b76:	c1 e0 09             	shl    $0x9,%eax
  402b79:	41 c1 e2 09          	shl    $0x9,%r10d
  402b7d:	81 e2 ff ff 00 00    	and    $0xffff,%edx
  402b83:	44 89 4e 6c          	mov    %r9d,0x6c(%rsi)
  402b87:	41 09 ea             	or     %ebp,%r10d
  402b8a:	44 89 cd             	mov    %r9d,%ebp
  402b8d:	41 c1 e1 09          	shl    $0x9,%r9d
  402b91:	c1 ed 07             	shr    $0x7,%ebp
  402b94:	41 81 e0 ff ff 00 00 	and    $0xffff,%r8d
  402b9b:	89 4e 70             	mov    %ecx,0x70(%rsi)
  402b9e:	09 e8                	or     %ebp,%eax
  402ba0:	89 cd                	mov    %ecx,%ebp
  402ba2:	c1 e1 09             	shl    $0x9,%ecx
  402ba5:	c1 ed 07             	shr    $0x7,%ebp
  402ba8:	81 e7 ff ff 00 00    	and    $0xffff,%edi
  402bae:	89 56 74             	mov    %edx,0x74(%rsi)
  402bb1:	41 09 e9             	or     %ebp,%r9d
  402bb4:	89 d5                	mov    %edx,%ebp
  402bb6:	c1 e2 09             	shl    $0x9,%edx
  402bb9:	c1 ed 07             	shr    $0x7,%ebp
  402bbc:	41 81 e2 ff ff 00 00 	and    $0xffff,%r10d
  402bc3:	25 ff ff 00 00       	and    $0xffff,%eax
  402bc8:	09 e9                	or     %ebp,%ecx
  402bca:	44 89 c5             	mov    %r8d,%ebp
  402bcd:	41 81 e1 ff ff 00 00 	and    $0xffff,%r9d
  402bd4:	c1 ed 07             	shr    $0x7,%ebp
  402bd7:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
  402bdd:	44 89 46 78          	mov    %r8d,0x78(%rsi)
  402be1:	09 ea                	or     %ebp,%edx
  402be3:	89 fd                	mov    %edi,%ebp
  402be5:	89 5e 60             	mov    %ebx,0x60(%rsi)
  402be8:	81 e2 ff ff 00 00    	and    $0xffff,%edx
  402bee:	c1 ed 07             	shr    $0x7,%ebp
  402bf1:	41 c1 e0 09          	shl    $0x9,%r8d
  402bf5:	41 09 e8             	or     %ebp,%r8d
  402bf8:	89 dd                	mov    %ebx,%ebp
  402bfa:	44 89 5e 64          	mov    %r11d,0x64(%rsi)
  402bfe:	c1 ed 07             	shr    $0x7,%ebp
  402c01:	c1 e3 09             	shl    $0x9,%ebx
  402c04:	89 7e 7c             	mov    %edi,0x7c(%rsi)
  402c07:	41 c1 eb 07          	shr    $0x7,%r11d
  402c0b:	c1 e7 09             	shl    $0x9,%edi
  402c0e:	41 81 e0 ff ff 00 00 	and    $0xffff,%r8d
  402c15:	09 ef                	or     %ebp,%edi
  402c17:	41 09 db             	or     %ebx,%r11d
  402c1a:	44 89 cd             	mov    %r9d,%ebp
  402c1d:	89 c3                	mov    %eax,%ebx
  402c1f:	c1 ed 07             	shr    $0x7,%ebp
  402c22:	81 e7 ff ff 00 00    	and    $0xffff,%edi
  402c28:	c1 e3 09             	shl    $0x9,%ebx
  402c2b:	44 89 96 80 00 00 00 	mov    %r10d,0x80(%rsi)
  402c32:	89 86 84 00 00 00    	mov    %eax,0x84(%rsi)
  402c38:	09 eb                	or     %ebp,%ebx
  402c3a:	44 89 8e 88 00 00 00 	mov    %r9d,0x88(%rsi)
  402c41:	89 8e 8c 00 00 00    	mov    %ecx,0x8c(%rsi)
  402c47:	81 e3 ff ff 00 00    	and    $0xffff,%ebx
  402c4d:	89 96 90 00 00 00    	mov    %edx,0x90(%rsi)
  402c53:	44 89 86 94 00 00 00 	mov    %r8d,0x94(%rsi)
  402c5a:	89 be 98 00 00 00    	mov    %edi,0x98(%rsi)
  402c60:	89 9e a0 00 00 00    	mov    %ebx,0xa0(%rsi)
  402c66:	89 cb                	mov    %ecx,%ebx
  402c68:	c1 eb 07             	shr    $0x7,%ebx
  402c6b:	41 c1 e1 09          	shl    $0x9,%r9d
  402c6f:	c1 e1 09             	shl    $0x9,%ecx
  402c72:	41 09 d9             	or     %ebx,%r9d
  402c75:	89 d3                	mov    %edx,%ebx
  402c77:	c1 e2 09             	shl    $0x9,%edx
  402c7a:	c1 eb 07             	shr    $0x7,%ebx
  402c7d:	41 81 e3 ff ff 00 00 	and    $0xffff,%r11d
  402c84:	41 81 e1 ff ff 00 00 	and    $0xffff,%r9d
  402c8b:	09 d9                	or     %ebx,%ecx
  402c8d:	44 89 c3             	mov    %r8d,%ebx
  402c90:	41 c1 e0 09          	shl    $0x9,%r8d
  402c94:	c1 eb 07             	shr    $0x7,%ebx
  402c97:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
  402c9d:	44 89 8e a4 00 00 00 	mov    %r9d,0xa4(%rsi)
  402ca4:	09 da                	or     %ebx,%edx
  402ca6:	89 fb                	mov    %edi,%ebx
  402ca8:	89 8e a8 00 00 00    	mov    %ecx,0xa8(%rsi)
  402cae:	c1 eb 07             	shr    $0x7,%ebx
  402cb1:	81 e2 ff ff 00 00    	and    $0xffff,%edx
  402cb7:	44 89 9e 9c 00 00 00 	mov    %r11d,0x9c(%rsi)
  402cbe:	41 09 d8             	or     %ebx,%r8d
  402cc1:	44 89 db             	mov    %r11d,%ebx
  402cc4:	89 96 ac 00 00 00    	mov    %edx,0xac(%rsi)
  402cca:	41 81 e0 ff ff 00 00 	and    $0xffff,%r8d
  402cd1:	c1 eb 07             	shr    $0x7,%ebx
  402cd4:	c1 e7 09             	shl    $0x9,%edi
  402cd7:	09 df                	or     %ebx,%edi
  402cd9:	c1 e8 07             	shr    $0x7,%eax
  402cdc:	44 89 d3             	mov    %r10d,%ebx
  402cdf:	41 c1 e2 09          	shl    $0x9,%r10d
  402ce3:	41 c1 e1 09          	shl    $0x9,%r9d
  402ce7:	c1 eb 07             	shr    $0x7,%ebx
  402cea:	44 09 d0             	or     %r10d,%eax
  402ced:	41 89 ca             	mov    %ecx,%r10d
  402cf0:	c1 e1 09             	shl    $0x9,%ecx
  402cf3:	41 c1 ea 07          	shr    $0x7,%r10d
  402cf7:	41 c1 e3 09          	shl    $0x9,%r11d
  402cfb:	81 e7 ff ff 00 00    	and    $0xffff,%edi
  402d01:	45 09 d1             	or     %r10d,%r9d
  402d04:	41 09 db             	or     %ebx,%r11d
  402d07:	44 89 86 b0 00 00 00 	mov    %r8d,0xb0(%rsi)
  402d0e:	41 81 e1 ff ff 00 00 	and    $0xffff,%r9d
  402d15:	41 81 e3 ff ff 00 00 	and    $0xffff,%r11d
  402d1c:	89 be b4 00 00 00    	mov    %edi,0xb4(%rsi)
  402d22:	44 89 8e c0 00 00 00 	mov    %r9d,0xc0(%rsi)
  402d29:	41 89 d1             	mov    %edx,%r9d
  402d2c:	c1 e2 09             	shl    $0x9,%edx
  402d2f:	41 c1 e9 07          	shr    $0x7,%r9d
  402d33:	25 ff ff 00 00       	and    $0xffff,%eax
  402d38:	44 89 9e b8 00 00 00 	mov    %r11d,0xb8(%rsi)
  402d3f:	44 09 c9             	or     %r9d,%ecx
  402d42:	89 86 bc 00 00 00    	mov    %eax,0xbc(%rsi)
  402d48:	44 0f b7 c9          	movzwl %cx,%r9d
  402d4c:	44 89 c1             	mov    %r8d,%ecx
  402d4f:	44 89 8e c4 00 00 00 	mov    %r9d,0xc4(%rsi)
  402d56:	41 89 d1             	mov    %edx,%r9d
  402d59:	44 89 c2             	mov    %r8d,%edx
  402d5c:	c1 ea 07             	shr    $0x7,%edx
  402d5f:	41 89 f8             	mov    %edi,%r8d
  402d62:	c1 e7 09             	shl    $0x9,%edi
  402d65:	41 09 d1             	or     %edx,%r9d
  402d68:	89 fa                	mov    %edi,%edx
  402d6a:	44 89 df             	mov    %r11d,%edi
  402d6d:	c1 e1 09             	shl    $0x9,%ecx
  402d70:	41 c1 e8 07          	shr    $0x7,%r8d
  402d74:	c1 ef 07             	shr    $0x7,%edi
  402d77:	44 09 c1             	or     %r8d,%ecx
  402d7a:	09 fa                	or     %edi,%edx
  402d7c:	41 81 e1 ff ff 00 00 	and    $0xffff,%r9d
  402d83:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
  402d89:	81 e2 ff ff 00 00    	and    $0xffff,%edx
  402d8f:	c1 e8 07             	shr    $0x7,%eax
  402d92:	41 c1 e3 09          	shl    $0x9,%r11d
  402d96:	44 89 8e c8 00 00 00 	mov    %r9d,0xc8(%rsi)
  402d9d:	89 8e cc 00 00 00    	mov    %ecx,0xcc(%rsi)
  402da3:	44 09 d8             	or     %r11d,%eax
  402da6:	89 96 d0 00 00 00    	mov    %edx,0xd0(%rsi)
  402dac:	25 ff ff 00 00       	and    $0xffff,%eax
  402db1:	5b                   	pop    %rbx
  402db2:	89 86 d4 00 00 00    	mov    %eax,0xd4(%rsi)
  402db8:	5d                   	pop    %rbp
  402db9:	41 5c                	pop    %r12
  402dbb:	c3                   	retq   
  402dbc:	0f 1f 40 00          	nopl   0x0(%rax)

0000000000402dc0 <idea_set_decrypt_key>:
  402dc0:	41 54                	push   %r12
  402dc2:	49 89 f1             	mov    %rsi,%r9
  402dc5:	55                   	push   %rbp
  402dc6:	4c 8d 87 c0 00 00 00 	lea    0xc0(%rdi),%r8
  402dcd:	53                   	push   %rbx
  402dce:	41 ba 01 00 01 00    	mov    $0x10001,%r10d
  402dd4:	eb 62                	jmp    402e38 <idea_set_decrypt_key+0x78>
  402dd6:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
  402ddd:	00 00 00 
  402de0:	41 89 01             	mov    %eax,(%r9)
  402de3:	41 8b 40 08          	mov    0x8(%r8),%eax
  402de7:	f7 d8                	neg    %eax
  402de9:	25 ff ff 00 00       	and    $0xffff,%eax
  402dee:	41 89 41 04          	mov    %eax,0x4(%r9)
  402df2:	41 8b 40 04          	mov    0x4(%r8),%eax
  402df6:	f7 d8                	neg    %eax
  402df8:	25 ff ff 00 00       	and    $0xffff,%eax
  402dfd:	41 89 41 08          	mov    %eax,0x8(%r9)
  402e01:	41 8b 40 0c          	mov    0xc(%r8),%eax
  402e05:	85 c0                	test   %eax,%eax
  402e07:	0f 85 b3 00 00 00    	jne    402ec0 <idea_set_decrypt_key+0x100>
  402e0d:	49 39 f8             	cmp    %rdi,%r8
  402e10:	41 89 41 0c          	mov    %eax,0xc(%r9)
  402e14:	0f 84 28 01 00 00    	je     402f42 <idea_set_decrypt_key+0x182>
  402e1a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
  402e20:	49 83 e8 18          	sub    $0x18,%r8
  402e24:	41 8b 40 10          	mov    0x10(%r8),%eax
  402e28:	49 83 c1 18          	add    $0x18,%r9
  402e2c:	41 89 41 f8          	mov    %eax,-0x8(%r9)
  402e30:	41 8b 40 14          	mov    0x14(%r8),%eax
  402e34:	41 89 41 fc          	mov    %eax,-0x4(%r9)
  402e38:	41 8b 00             	mov    (%r8),%eax
  402e3b:	85 c0                	test   %eax,%eax
  402e3d:	74 a1                	je     402de0 <idea_set_decrypt_key+0x20>
  402e3f:	41 89 c3             	mov    %eax,%r11d
  402e42:	4c 89 d0             	mov    %r10,%rax
  402e45:	48 99                	cqto   
  402e47:	49 f7 fb             	idiv   %r11
  402e4a:	b8 01 00 00 00       	mov    $0x1,%eax
  402e4f:	48 85 d2             	test   %rdx,%rdx
  402e52:	48 89 d1             	mov    %rdx,%rcx
  402e55:	74 89                	je     402de0 <idea_set_decrypt_key+0x20>
  402e57:	4c 89 d0             	mov    %r10,%rax
  402e5a:	41 bc 01 00 00 00    	mov    $0x1,%r12d
  402e60:	48 29 d0             	sub    %rdx,%rax
  402e63:	48 99                	cqto   
  402e65:	49 f7 fb             	idiv   %r11
  402e68:	31 d2                	xor    %edx,%edx
  402e6a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
  402e70:	48 89 d3             	mov    %rdx,%rbx
  402e73:	49 0f af c4          	imul   %r12,%rax
  402e77:	48 29 c3             	sub    %rax,%rbx
  402e7a:	4c 89 d8             	mov    %r11,%rax
  402e7d:	48 99                	cqto   
  402e7f:	48 f7 f9             	idiv   %rcx
  402e82:	4c 89 d8             	mov    %r11,%rax
  402e85:	49 89 cb             	mov    %rcx,%r11
  402e88:	48 29 d0             	sub    %rdx,%rax
  402e8b:	48 89 d5             	mov    %rdx,%rbp
  402e8e:	48 99                	cqto   
  402e90:	48 f7 f9             	idiv   %rcx
  402e93:	48 85 ed             	test   %rbp,%rbp
  402e96:	48 89 e9             	mov    %rbp,%rcx
  402e99:	4c 89 e2             	mov    %r12,%rdx
  402e9c:	74 0a                	je     402ea8 <idea_set_decrypt_key+0xe8>
  402e9e:	49 89 dc             	mov    %rbx,%r12
  402ea1:	eb cd                	jmp    402e70 <idea_set_decrypt_key+0xb0>
  402ea3:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
  402ea8:	48 8d 83 01 00 01 00 	lea    0x10001(%rbx),%rax
  402eaf:	48 85 db             	test   %rbx,%rbx
  402eb2:	0f 49 c3             	cmovns %ebx,%eax
  402eb5:	e9 26 ff ff ff       	jmpq   402de0 <idea_set_decrypt_key+0x20>
  402eba:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
  402ec0:	41 89 c3             	mov    %eax,%r11d
  402ec3:	4c 89 d0             	mov    %r10,%rax
  402ec6:	48 99                	cqto   
  402ec8:	49 f7 fb             	idiv   %r11
  402ecb:	b8 01 00 00 00       	mov    $0x1,%eax
  402ed0:	48 85 d2             	test   %rdx,%rdx
  402ed3:	48 89 d1             	mov    %rdx,%rcx
  402ed6:	0f 84 31 ff ff ff    	je     402e0d <idea_set_decrypt_key+0x4d>
  402edc:	4c 89 d0             	mov    %r10,%rax
  402edf:	41 bc 01 00 00 00    	mov    $0x1,%r12d
  402ee5:	48 29 d0             	sub    %rdx,%rax
  402ee8:	48 99                	cqto   
  402eea:	49 f7 fb             	idiv   %r11
  402eed:	31 d2                	xor    %edx,%edx
  402eef:	90                   	nop
  402ef0:	48 89 d3             	mov    %rdx,%rbx
  402ef3:	49 0f af c4          	imul   %r12,%rax
  402ef7:	48 29 c3             	sub    %rax,%rbx
  402efa:	4c 89 d8             	mov    %r11,%rax
  402efd:	48 99                	cqto   
  402eff:	48 f7 f9             	idiv   %rcx
  402f02:	4c 89 d8             	mov    %r11,%rax
  402f05:	49 89 cb             	mov    %rcx,%r11
  402f08:	48 29 d0             	sub    %rdx,%rax
  402f0b:	48 89 d5             	mov    %rdx,%rbp
  402f0e:	48 99                	cqto   
  402f10:	48 f7 f9             	idiv   %rcx
  402f13:	48 85 ed             	test   %rbp,%rbp
  402f16:	48 89 e9             	mov    %rbp,%rcx
  402f19:	4c 89 e2             	mov    %r12,%rdx
  402f1c:	74 0a                	je     402f28 <idea_set_decrypt_key+0x168>
  402f1e:	49 89 dc             	mov    %rbx,%r12
  402f21:	eb cd                	jmp    402ef0 <idea_set_decrypt_key+0x130>
  402f23:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
  402f28:	48 8d 83 01 00 01 00 	lea    0x10001(%rbx),%rax
  402f2f:	48 85 db             	test   %rbx,%rbx
  402f32:	0f 49 c3             	cmovns %ebx,%eax
  402f35:	49 39 f8             	cmp    %rdi,%r8
  402f38:	41 89 41 0c          	mov    %eax,0xc(%r9)
  402f3c:	0f 85 de fe ff ff    	jne    402e20 <idea_set_decrypt_key+0x60>
  402f42:	8b 46 04             	mov    0x4(%rsi),%eax
  402f45:	8b 56 08             	mov    0x8(%rsi),%edx
  402f48:	5b                   	pop    %rbx
  402f49:	5d                   	pop    %rbp
  402f4a:	89 56 04             	mov    %edx,0x4(%rsi)
  402f4d:	89 46 08             	mov    %eax,0x8(%rsi)
  402f50:	8b 96 c8 00 00 00    	mov    0xc8(%rsi),%edx
  402f56:	8b 86 c4 00 00 00    	mov    0xc4(%rsi),%eax
  402f5c:	41 5c                	pop    %r12
  402f5e:	89 96 c4 00 00 00    	mov    %edx,0xc4(%rsi)
  402f64:	89 86 c8 00 00 00    	mov    %eax,0xc8(%rsi)
  402f6a:	c3                   	retq   
  402f6b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

0000000000402f70 <LZ4_readLE16>:
  402f70:	0f b7 07             	movzwl (%rdi),%eax
  402f73:	c3                   	retq   
  402f74:	66 90                	xchg   %ax,%ax
  402f76:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
  402f7d:	00 00 00 

0000000000402f80 <LZ4_write32>:
  402f80:	89 37                	mov    %esi,(%rdi)
  402f82:	c3                   	retq   
  402f83:	0f 1f 00             	nopl   (%rax)
  402f86:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
  402f8d:	00 00 00 

0000000000402f90 <read_variable_length>:
  402f90:	85 c9                	test   %ecx,%ecx
  402f92:	4c 8b 0f             	mov    (%rdi),%r9
  402f95:	74 05                	je     402f9c <read_variable_length+0xc>
  402f97:	4c 39 ce             	cmp    %r9,%rsi
  402f9a:	76 34                	jbe    402fd0 <read_variable_length+0x40>
  402f9c:	85 d2                	test   %edx,%edx
  402f9e:	0f 95 c1             	setne  %cl
  402fa1:	31 c0                	xor    %eax,%eax
  402fa3:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
  402fa8:	41 0f b6 11          	movzbl (%r9),%edx
  402fac:	49 83 c1 01          	add    $0x1,%r9
  402fb0:	4c 89 0f             	mov    %r9,(%rdi)
  402fb3:	01 d0                	add    %edx,%eax
  402fb5:	49 39 f1             	cmp    %rsi,%r9
  402fb8:	72 04                	jb     402fbe <read_variable_length+0x2e>
  402fba:	84 c9                	test   %cl,%cl
  402fbc:	75 22                	jne    402fe0 <read_variable_length+0x50>
  402fbe:	81 fa ff 00 00 00    	cmp    $0xff,%edx
  402fc4:	74 e2                	je     402fa8 <read_variable_length+0x18>
  402fc6:	f3 c3                	repz retq 
  402fc8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
  402fcf:	00 
  402fd0:	41 c7 00 ff ff ff ff 	movl   $0xffffffff,(%r8)
  402fd7:	31 c0                	xor    %eax,%eax
  402fd9:	c3                   	retq   
  402fda:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
  402fe0:	41 c7 00 fe ff ff ff 	movl   $0xfffffffe,(%r8)
  402fe7:	c3                   	retq   
  402fe8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
  402fef:	00 

0000000000402ff0 <LZ4_wildCopy8>:
  402ff0:	48 8b 06             	mov    (%rsi),%rax
  402ff3:	48 83 c7 08          	add    $0x8,%rdi
  402ff7:	48 83 c6 08          	add    $0x8,%rsi
  402ffb:	48 89 47 f8          	mov    %rax,-0x8(%rdi)
  402fff:	48 39 fa             	cmp    %rdi,%rdx
  403002:	77 ec                	ja     402ff0 <LZ4_wildCopy8>
  403004:	f3 c3                	repz retq 
  403006:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
  40300d:	00 00 00 

0000000000403010 <LZ4_wildCopy32>:
  403010:	f3 0f 6f 06          	movdqu (%rsi),%xmm0
  403014:	48 83 c7 20          	add    $0x20,%rdi
  403018:	48 83 c6 20          	add    $0x20,%rsi
  40301c:	0f 11 47 e0          	movups %xmm0,-0x20(%rdi)
  403020:	f3 0f 6f 46 f0       	movdqu -0x10(%rsi),%xmm0
  403025:	0f 11 47 f0          	movups %xmm0,-0x10(%rdi)
  403029:	48 39 fa             	cmp    %rdi,%rdx
  40302c:	77 e2                	ja     403010 <LZ4_wildCopy32>
  40302e:	f3 c3                	repz retq 

0000000000403030 <LZ4_memcpy_using_offset_base>:
  403030:	41 55                	push   %r13
  403032:	41 54                	push   %r12
  403034:	41 89 cc             	mov    %ecx,%r12d
  403037:	55                   	push   %rbp
  403038:	4a 8d 2c 26          	lea    (%rsi,%r12,1),%rbp
  40303c:	53                   	push   %rbx
  40303d:	48 83 ec 18          	sub    $0x18,%rsp
  403041:	48 39 fd             	cmp    %rdi,%rbp
  403044:	75 7f                	jne    4030c5 <LZ4_memcpy_using_offset_base+0x95>
  403046:	83 f9 07             	cmp    $0x7,%ecx
  403049:	48 89 f3             	mov    %rsi,%rbx
  40304c:	4c 8d 6d 08          	lea    0x8(%rbp),%r13
  403050:	76 1e                	jbe    403070 <LZ4_memcpy_using_offset_base+0x40>
  403052:	48 8b 06             	mov    (%rsi),%rax
  403055:	48 8d 76 08          	lea    0x8(%rsi),%rsi
  403059:	48 89 45 00          	mov    %rax,0x0(%rbp)
  40305d:	48 83 c4 18          	add    $0x18,%rsp
  403061:	4c 89 ef             	mov    %r13,%rdi
  403064:	5b                   	pop    %rbx
  403065:	5d                   	pop    %rbp
  403066:	41 5c                	pop    %r12
  403068:	41 5d                	pop    %r13
  40306a:	e9 01 dd ff ff       	jmpq   400d70 <LZ4_wildCopy8@plt>
  40306f:	90                   	nop
  403070:	31 f6                	xor    %esi,%esi
  403072:	48 89 ef             	mov    %rbp,%rdi
  403075:	48 89 54 24 08       	mov    %rdx,0x8(%rsp)
  40307a:	e8 11 dd ff ff       	callq  400d90 <LZ4_write32@plt>
  40307f:	0f b6 03             	movzbl (%rbx),%eax
  403082:	48 8b 54 24 08       	mov    0x8(%rsp),%rdx
  403087:	88 45 00             	mov    %al,0x0(%rbp)
  40308a:	0f b6 43 01          	movzbl 0x1(%rbx),%eax
  40308e:	88 45 01             	mov    %al,0x1(%rbp)
  403091:	0f b6 43 02          	movzbl 0x2(%rbx),%eax
  403095:	88 45 02             	mov    %al,0x2(%rbp)
  403098:	0f b6 43 03          	movzbl 0x3(%rbx),%eax
  40309c:	88 45 03             	mov    %al,0x3(%rbp)
  40309f:	48 8b 05 22 1f 20 00 	mov    0x201f22(%rip),%rax        # 604fc8 <inc32table@@Base-0x178>
  4030a6:	42 8b 34 a0          	mov    (%rax,%r12,4),%esi
  4030aa:	48 01 f3             	add    %rsi,%rbx
  4030ad:	8b 03                	mov    (%rbx),%eax
  4030af:	48 89 de             	mov    %rbx,%rsi
  4030b2:	89 45 04             	mov    %eax,0x4(%rbp)
  4030b5:	48 8b 05 2c 1f 20 00 	mov    0x201f2c(%rip),%rax        # 604fe8 <dec64table@@Base-0x138>
  4030bc:	4a 63 04 a0          	movslq (%rax,%r12,4),%rax
  4030c0:	48 29 c6             	sub    %rax,%rsi
  4030c3:	eb 98                	jmp    40305d <LZ4_memcpy_using_offset_base+0x2d>
  4030c5:	48 8d 0d 84 13 00 00 	lea    0x1384(%rip),%rcx        # 404450 <__PRETTY_FUNCTION__.3081>
  4030cc:	48 8d 35 8d 12 00 00 	lea    0x128d(%rip),%rsi        # 404360 <ip+0x40>
  4030d3:	48 8d 3d 8c 12 00 00 	lea    0x128c(%rip),%rdi        # 404366 <ip+0x46>
  4030da:	ba 5c 00 00 00       	mov    $0x5c,%edx
  4030df:	e8 3c dc ff ff       	callq  400d20 <__assert_fail@plt>
  4030e4:	66 90                	xchg   %ax,%ax
  4030e6:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
  4030ed:	00 00 00 

00000000004030f0 <LZ4_memcpy_using_offset>:
  4030f0:	48 8d 47 04          	lea    0x4(%rdi),%rax
  4030f4:	48 83 ec 18          	sub    $0x18,%rsp
  4030f8:	48 39 c2             	cmp    %rax,%rdx
  4030fb:	0f 82 7e 00 00 00    	jb     40317f <LZ4_memcpy_using_offset+0x8f>
  403101:	83 f9 02             	cmp    $0x2,%ecx
  403104:	74 62                	je     403168 <LZ4_memcpy_using_offset+0x78>
  403106:	83 f9 04             	cmp    $0x4,%ecx
  403109:	74 4d                	je     403158 <LZ4_memcpy_using_offset+0x68>
  40310b:	83 f9 01             	cmp    $0x1,%ecx
  40310e:	74 10                	je     403120 <LZ4_memcpy_using_offset+0x30>
  403110:	e8 1b dd ff ff       	callq  400e30 <LZ4_memcpy_using_offset_base@plt>
  403115:	48 83 c4 18          	add    $0x18,%rsp
  403119:	c3                   	retq   
  40311a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
  403120:	0f b6 06             	movzbl (%rsi),%eax
  403123:	48 b9 01 01 01 01 01 	movabs $0x101010101010101,%rcx
  40312a:	01 01 01 
  40312d:	48 0f af c1          	imul   %rcx,%rax
  403131:	48 89 44 24 08       	mov    %rax,0x8(%rsp)
  403136:	48 8b 44 24 08       	mov    0x8(%rsp),%rax
  40313b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
  403140:	48 89 07             	mov    %rax,(%rdi)
  403143:	48 83 c7 08          	add    $0x8,%rdi
  403147:	48 39 fa             	cmp    %rdi,%rdx
  40314a:	77 f4                	ja     403140 <LZ4_memcpy_using_offset+0x50>
  40314c:	48 83 c4 18          	add    $0x18,%rsp
  403150:	c3                   	retq   
  403151:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  403158:	8b 06                	mov    (%rsi),%eax
  40315a:	89 44 24 08          	mov    %eax,0x8(%rsp)
  40315e:	89 44 24 0c          	mov    %eax,0xc(%rsp)
  403162:	eb d2                	jmp    403136 <LZ4_memcpy_using_offset+0x46>
  403164:	0f 1f 40 00          	nopl   0x0(%rax)
  403168:	0f b7 06             	movzwl (%rsi),%eax
  40316b:	66 89 44 24 08       	mov    %ax,0x8(%rsp)
  403170:	66 89 44 24 0a       	mov    %ax,0xa(%rsp)
  403175:	8b 44 24 08          	mov    0x8(%rsp),%eax
  403179:	89 44 24 0c          	mov    %eax,0xc(%rsp)
  40317d:	eb b7                	jmp    403136 <LZ4_memcpy_using_offset+0x46>
  40317f:	48 8d 0d aa 12 00 00 	lea    0x12aa(%rip),%rcx        # 404430 <__PRETTY_FUNCTION__.3089>
  403186:	48 8d 35 d3 11 00 00 	lea    0x11d3(%rip),%rsi        # 404360 <ip+0x40>
  40318d:	48 8d 3d ec 11 00 00 	lea    0x11ec(%rip),%rdi        # 404380 <ip+0x60>
  403194:	ba 74 00 00 00       	mov    $0x74,%edx
  403199:	e8 82 db ff ff       	callq  400d20 <__assert_fail@plt>
  40319e:	66 90                	xchg   %ax,%ax

00000000004031a0 <lz4_decompress>:
  4031a0:	41 57                	push   %r15
  4031a2:	41 56                	push   %r14
  4031a4:	48 63 d2             	movslq %edx,%rdx
  4031a7:	41 55                	push   %r13
  4031a9:	4c 63 e9             	movslq %ecx,%r13
  4031ac:	41 54                	push   %r12
  4031ae:	49 01 f5             	add    %rsi,%r13
  4031b1:	55                   	push   %rbp
  4031b2:	53                   	push   %rbx
  4031b3:	4c 8d 34 17          	lea    (%rdi,%rdx,1),%r14
  4031b7:	49 8d 45 e0          	lea    -0x20(%r13),%rax
  4031bb:	49 89 f7             	mov    %rsi,%r15
  4031be:	48 83 ec 58          	sub    $0x58,%rsp
  4031c2:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
  4031c7:	49 8d 46 ef          	lea    -0x11(%r14),%rax
  4031cb:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
  4031d0:	48 89 7c 24 48       	mov    %rdi,0x48(%rsp)
  4031d5:	48 89 34 24          	mov    %rsi,(%rsp)
  4031d9:	48 89 44 24 08       	mov    %rax,0x8(%rsp)
  4031de:	48 8d 44 24 44       	lea    0x44(%rsp),%rax
  4031e3:	48 89 44 24 18       	mov    %rax,0x18(%rsp)
  4031e8:	49 8d 46 f1          	lea    -0xf(%r14),%rax
  4031ec:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
  4031f1:	48 8d 44 24 48       	lea    0x48(%rsp),%rax
  4031f6:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
  4031fb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
  403200:	4c 89 e8             	mov    %r13,%rax
  403203:	4c 29 f8             	sub    %r15,%rax
  403206:	48 83 f8 3f          	cmp    $0x3f,%rax
  40320a:	0f 8e 48 08 00 00    	jle    403a58 <lz4_decompress+0x8b8>
  403210:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
  403215:	4c 39 f0             	cmp    %r14,%rax
  403218:	0f 83 1b 08 00 00    	jae    403a39 <lz4_decompress+0x899>
  40321e:	48 8d 70 01          	lea    0x1(%rax),%rsi
  403222:	48 89 74 24 48       	mov    %rsi,0x48(%rsp)
  403227:	44 0f b6 18          	movzbl (%rax),%r11d
  40322b:	44 89 dd             	mov    %r11d,%ebp
  40322e:	44 89 db             	mov    %r11d,%ebx
  403231:	c1 ed 04             	shr    $0x4,%ebp
  403234:	4c 39 f6             	cmp    %r14,%rsi
  403237:	0f 87 dd 07 00 00    	ja     403a1a <lz4_decompress+0x87a>
  40323d:	83 fd 0f             	cmp    $0xf,%ebp
  403240:	0f 84 6a 01 00 00    	je     4033b0 <lz4_decompress+0x210>
  403246:	48 3b 74 24 08       	cmp    0x8(%rsp),%rsi
  40324b:	4d 8d 24 2f          	lea    (%r15,%rbp,1),%r12
  40324f:	48 8d 3c 2e          	lea    (%rsi,%rbp,1),%rdi
  403253:	0f 87 37 02 00 00    	ja     403490 <lz4_decompress+0x2f0>
  403259:	f3 0f 6f 40 01       	movdqu 0x1(%rax),%xmm0
  40325e:	48 89 7c 24 48       	mov    %rdi,0x48(%rsp)
  403263:	41 0f 11 07          	movups %xmm0,(%r15)
  403267:	e8 64 db ff ff       	callq  400dd0 <LZ4_readLE16@plt>
  40326c:	4c 89 e5             	mov    %r12,%rbp
  40326f:	44 0f b7 d0          	movzwl %ax,%r10d
  403273:	0f b7 c0             	movzwl %ax,%eax
  403276:	48 29 c5             	sub    %rax,%rbp
  403279:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
  40327e:	49 39 ec             	cmp    %rbp,%r12
  403281:	48 8d 71 02          	lea    0x2(%rcx),%rsi
  403285:	48 89 74 24 48       	mov    %rsi,0x48(%rsp)
  40328a:	0f 82 e7 07 00 00    	jb     403a77 <lz4_decompress+0x8d7>
  403290:	83 e3 0f             	and    $0xf,%ebx
  403293:	80 fb 0f             	cmp    $0xf,%bl
  403296:	74 40                	je     4032d8 <lz4_decompress+0x138>
  403298:	0f b6 db             	movzbl %bl,%ebx
  40329b:	49 8d 45 c0          	lea    -0x40(%r13),%rax
  40329f:	44 8d 4b 04          	lea    0x4(%rbx),%r9d
  4032a3:	4f 8d 3c 0c          	lea    (%r12,%r9,1),%r15
  4032a7:	49 39 c7             	cmp    %rax,%r15
  4032aa:	0f 83 80 01 00 00    	jae    403430 <lz4_decompress+0x290>
  4032b0:	48 39 2c 24          	cmp    %rbp,(%rsp)
  4032b4:	0f 86 be 00 00 00    	jbe    403378 <lz4_decompress+0x1d8>
  4032ba:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
  4032bf:	48 29 f0             	sub    %rsi,%rax
  4032c2:	83 e8 01             	sub    $0x1,%eax
  4032c5:	48 83 c4 58          	add    $0x58,%rsp
  4032c9:	5b                   	pop    %rbx
  4032ca:	5d                   	pop    %rbp
  4032cb:	41 5c                	pop    %r12
  4032cd:	41 5d                	pop    %r13
  4032cf:	41 5e                	pop    %r14
  4032d1:	41 5f                	pop    %r15
  4032d3:	c3                   	retq   
  4032d4:	0f 1f 40 00          	nopl   0x0(%rax)
  4032d8:	48 39 2c 24          	cmp    %rbp,(%rsp)
  4032dc:	44 89 54 24 14       	mov    %r10d,0x14(%rsp)
  4032e1:	c7 44 24 44 00 00 00 	movl   $0x0,0x44(%rsp)
  4032e8:	00 
  4032e9:	77 cf                	ja     4032ba <lz4_decompress+0x11a>
  4032eb:	4c 8b 44 24 18       	mov    0x18(%rsp),%r8
  4032f0:	48 8b 7c 24 20       	mov    0x20(%rsp),%rdi
  4032f5:	49 8d 76 fc          	lea    -0x4(%r14),%rsi
  4032f9:	31 c9                	xor    %ecx,%ecx
  4032fb:	ba 01 00 00 00       	mov    $0x1,%edx
  403300:	e8 7b da ff ff       	callq  400d80 <read_variable_length@plt>
  403305:	8b 4c 24 44          	mov    0x44(%rsp),%ecx
  403309:	44 8b 54 24 14       	mov    0x14(%rsp),%r10d
  40330e:	85 c9                	test   %ecx,%ecx
  403310:	0f 85 6a 01 00 00    	jne    403480 <lz4_decompress+0x2e0>
  403316:	44 8d 48 13          	lea    0x13(%rax),%r9d
  40331a:	49 8d 45 c0          	lea    -0x40(%r13),%rax
  40331e:	4f 8d 3c 0c          	lea    (%r12,%r9,1),%r15
  403322:	49 39 c7             	cmp    %rax,%r15
  403325:	0f 83 0d 02 00 00    	jae    403538 <lz4_decompress+0x398>
  40332b:	4d 39 ec             	cmp    %r13,%r12
  40332e:	0f 87 a2 06 00 00    	ja     4039d6 <lz4_decompress+0x836>
  403334:	4c 89 e8             	mov    %r13,%rax
  403337:	4c 29 e0             	sub    %r12,%rax
  40333a:	48 83 f8 1f          	cmp    $0x1f,%rax
  40333e:	0f 8e 92 06 00 00    	jle    4039d6 <lz4_decompress+0x836>
  403344:	41 83 fa 0f          	cmp    $0xf,%r10d
  403348:	77 16                	ja     403360 <lz4_decompress+0x1c0>
  40334a:	44 89 d1             	mov    %r10d,%ecx
  40334d:	4c 89 fa             	mov    %r15,%rdx
  403350:	48 89 ee             	mov    %rbp,%rsi
  403353:	4c 89 e7             	mov    %r12,%rdi
  403356:	e8 a5 da ff ff       	callq  400e00 <LZ4_memcpy_using_offset@plt>
  40335b:	e9 a0 fe ff ff       	jmpq   403200 <lz4_decompress+0x60>
  403360:	4c 89 fa             	mov    %r15,%rdx
  403363:	48 89 ee             	mov    %rbp,%rsi
  403366:	4c 89 e7             	mov    %r12,%rdi
  403369:	e8 92 d9 ff ff       	callq  400d00 <LZ4_wildCopy32@plt>
  40336e:	e9 8d fe ff ff       	jmpq   403200 <lz4_decompress+0x60>
  403373:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
  403378:	41 83 fa 07          	cmp    $0x7,%r10d
  40337c:	76 ad                	jbe    40332b <lz4_decompress+0x18b>
  40337e:	49 8d 44 24 12       	lea    0x12(%r12),%rax
  403383:	49 39 c5             	cmp    %rax,%r13
  403386:	0f 82 5a 07 00 00    	jb     403ae6 <lz4_decompress+0x946>
  40338c:	48 8b 45 00          	mov    0x0(%rbp),%rax
  403390:	49 89 04 24          	mov    %rax,(%r12)
  403394:	48 8b 45 08          	mov    0x8(%rbp),%rax
  403398:	49 89 44 24 08       	mov    %rax,0x8(%r12)
  40339d:	0f b7 45 10          	movzwl 0x10(%rbp),%eax
  4033a1:	66 41 89 44 24 10    	mov    %ax,0x10(%r12)
  4033a7:	e9 54 fe ff ff       	jmpq   403200 <lz4_decompress+0x60>
  4033ac:	0f 1f 40 00          	nopl   0x0(%rax)
  4033b0:	4c 8b 44 24 18       	mov    0x18(%rsp),%r8
  4033b5:	48 8b 74 24 30       	mov    0x30(%rsp),%rsi
  4033ba:	b9 01 00 00 00       	mov    $0x1,%ecx
  4033bf:	48 8b 7c 24 20       	mov    0x20(%rsp),%rdi
  4033c4:	ba 01 00 00 00       	mov    $0x1,%edx
  4033c9:	44 89 5c 24 14       	mov    %r11d,0x14(%rsp)
  4033ce:	c7 44 24 44 00 00 00 	movl   $0x0,0x44(%rsp)
  4033d5:	00 
  4033d6:	e8 a5 d9 ff ff       	callq  400d80 <read_variable_length@plt>
  4033db:	83 c0 0f             	add    $0xf,%eax
  4033de:	83 7c 24 44 ff       	cmpl   $0xffffffff,0x44(%rsp)
  4033e3:	0f 84 97 00 00 00    	je     403480 <lz4_decompress+0x2e0>
  4033e9:	89 c5                	mov    %eax,%ebp
  4033eb:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
  4033f0:	44 8b 5c 24 14       	mov    0x14(%rsp),%r11d
  4033f5:	4d 8d 24 2f          	lea    (%r15,%rbp,1),%r12
  4033f9:	4c 39 64 24 28       	cmp    %r12,0x28(%rsp)
  4033fe:	48 8d 3c 2e          	lea    (%rsi,%rbp,1),%rdi
  403402:	0f 82 88 00 00 00    	jb     403490 <lz4_decompress+0x2f0>
  403408:	49 8d 46 e0          	lea    -0x20(%r14),%rax
  40340c:	48 39 c7             	cmp    %rax,%rdi
  40340f:	77 7f                	ja     403490 <lz4_decompress+0x2f0>
  403411:	4c 89 ff             	mov    %r15,%rdi
  403414:	4c 89 e2             	mov    %r12,%rdx
  403417:	e8 e4 d8 ff ff       	callq  400d00 <LZ4_wildCopy32@plt>
  40341c:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
  403421:	48 01 ef             	add    %rbp,%rdi
  403424:	48 89 7c 24 48       	mov    %rdi,0x48(%rsp)
  403429:	e9 39 fe ff ff       	jmpq   403267 <lz4_decompress+0xc7>
  40342e:	66 90                	xchg   %ax,%ax
  403430:	4c 8b 3c 24          	mov    (%rsp),%r15
  403434:	44 89 c8             	mov    %r9d,%eax
  403437:	49 89 e9             	mov    %rbp,%r9
  40343a:	4d 39 f9             	cmp    %r15,%r9
  40343d:	72 41                	jb     403480 <lz4_decompress+0x2e0>
  40343f:	89 c5                	mov    %eax,%ebp
  403441:	4c 01 e5             	add    %r12,%rbp
  403444:	4d 39 ec             	cmp    %r13,%r12
  403447:	0f 87 f6 06 00 00    	ja     403b43 <lz4_decompress+0x9a3>
  40344d:	41 83 fa 07          	cmp    $0x7,%r10d
  403451:	0f 86 db 04 00 00    	jbe    403932 <lz4_decompress+0x792>
  403457:	49 8b 11             	mov    (%r9),%rdx
  40345a:	49 83 c1 08          	add    $0x8,%r9
  40345e:	49 89 14 24          	mov    %rdx,(%r12)
  403462:	49 8d 5d f4          	lea    -0xc(%r13),%rbx
  403466:	48 39 eb             	cmp    %rbp,%rbx
  403469:	0f 83 db 00 00 00    	jae    40354a <lz4_decompress+0x3aa>
  40346f:	49 8d 45 fb          	lea    -0x5(%r13),%rax
  403473:	48 39 c5             	cmp    %rax,%rbp
  403476:	0f 86 ff 01 00 00    	jbe    40367b <lz4_decompress+0x4db>
  40347c:	0f 1f 40 00          	nopl   0x0(%rax)
  403480:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
  403485:	e9 30 fe ff ff       	jmpq   4032ba <lz4_decompress+0x11a>
  40348a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
  403490:	48 89 e8             	mov    %rbp,%rax
  403493:	4c 89 fd             	mov    %r15,%rbp
  403496:	4c 8b 3c 24          	mov    (%rsp),%r15
  40349a:	49 8d 5d f4          	lea    -0xc(%r13),%rbx
  40349e:	49 39 dc             	cmp    %rbx,%r12
  4034a1:	77 6d                	ja     403510 <lz4_decompress+0x370>
  4034a3:	49 8d 56 f8          	lea    -0x8(%r14),%rdx
  4034a7:	48 39 d7             	cmp    %rdx,%rdi
  4034aa:	77 64                	ja     403510 <lz4_decompress+0x370>
  4034ac:	48 89 ef             	mov    %rbp,%rdi
  4034af:	4c 89 e2             	mov    %r12,%rdx
  4034b2:	44 89 5c 24 08       	mov    %r11d,0x8(%rsp)
  4034b7:	48 89 04 24          	mov    %rax,(%rsp)
  4034bb:	e8 b0 d8 ff ff       	callq  400d70 <LZ4_wildCopy8@plt>
  4034c0:	48 8b 04 24          	mov    (%rsp),%rax
  4034c4:	48 03 44 24 48       	add    0x48(%rsp),%rax
  4034c9:	48 89 c7             	mov    %rax,%rdi
  4034cc:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
  4034d1:	e8 fa d8 ff ff       	callq  400dd0 <LZ4_readLE16@plt>
  4034d6:	44 8b 5c 24 08       	mov    0x8(%rsp),%r11d
  4034db:	48 83 44 24 48 02    	addq   $0x2,0x48(%rsp)
  4034e1:	44 0f b7 d0          	movzwl %ax,%r10d
  4034e5:	4d 89 e1             	mov    %r12,%r9
  4034e8:	0f b7 c0             	movzwl %ax,%eax
  4034eb:	49 29 c1             	sub    %rax,%r9
  4034ee:	41 83 e3 0f          	and    $0xf,%r11d
  4034f2:	44 89 dd             	mov    %r11d,%ebp
  4034f5:	83 fd 0f             	cmp    $0xf,%ebp
  4034f8:	0f 84 ec 03 00 00    	je     4038ea <lz4_decompress+0x74a>
  4034fe:	8d 45 04             	lea    0x4(%rbp),%eax
  403501:	e9 34 ff ff ff       	jmpq   40343a <lz4_decompress+0x29a>
  403506:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
  40350d:	00 00 00 
  403510:	49 39 fe             	cmp    %rdi,%r14
  403513:	0f 85 a1 fd ff ff    	jne    4032ba <lz4_decompress+0x11a>
  403519:	4d 39 ec             	cmp    %r13,%r12
  40351c:	0f 87 98 fd ff ff    	ja     4032ba <lz4_decompress+0x11a>
  403522:	48 89 c2             	mov    %rax,%rdx
  403525:	48 89 ef             	mov    %rbp,%rdi
  403528:	e8 b3 d8 ff ff       	callq  400de0 <memmove@plt>
  40352d:	44 89 e0             	mov    %r12d,%eax
  403530:	44 29 f8             	sub    %r15d,%eax
  403533:	e9 8d fd ff ff       	jmpq   4032c5 <lz4_decompress+0x125>
  403538:	44 89 c8             	mov    %r9d,%eax
  40353b:	49 89 e9             	mov    %rbp,%r9
  40353e:	4c 89 fd             	mov    %r15,%rbp
  403541:	4c 8b 3c 24          	mov    (%rsp),%r15
  403545:	e9 fa fe ff ff       	jmpq   403444 <lz4_decompress+0x2a4>
  40354a:	49 8b 11             	mov    (%r9),%rdx
  40354d:	83 f8 10             	cmp    $0x10,%eax
  403550:	49 89 54 24 08       	mov    %rdx,0x8(%r12)
  403555:	76 11                	jbe    403568 <lz4_decompress+0x3c8>
  403557:	49 8d 71 08          	lea    0x8(%r9),%rsi
  40355b:	49 8d 7c 24 10       	lea    0x10(%r12),%rdi
  403560:	48 89 ea             	mov    %rbp,%rdx
  403563:	e8 08 d8 ff ff       	callq  400d70 <LZ4_wildCopy8@plt>
  403568:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
  40356d:	48 8d 71 01          	lea    0x1(%rcx),%rsi
  403571:	48 89 74 24 48       	mov    %rsi,0x48(%rsp)
  403576:	44 0f b6 19          	movzbl (%rcx),%r11d
  40357a:	44 89 da             	mov    %r11d,%edx
  40357d:	44 89 d8             	mov    %r11d,%eax
  403580:	c1 ea 04             	shr    $0x4,%edx
  403583:	4c 39 f6             	cmp    %r14,%rsi
  403586:	0f 87 98 05 00 00    	ja     403b24 <lz4_decompress+0x984>
  40358c:	83 fa 0f             	cmp    $0xf,%edx
  40358f:	0f 84 01 05 00 00    	je     403a96 <lz4_decompress+0x8f6>
  403595:	49 8d 7e f0          	lea    -0x10(%r14),%rdi
  403599:	48 39 fe             	cmp    %rdi,%rsi
  40359c:	48 89 3c 24          	mov    %rdi,(%rsp)
  4035a0:	0f 83 c5 00 00 00    	jae    40366b <lz4_decompress+0x4cb>
  4035a6:	48 39 6c 24 28       	cmp    %rbp,0x28(%rsp)
  4035ab:	0f 82 ba 00 00 00    	jb     40366b <lz4_decompress+0x4cb>
  4035b1:	f3 0f 6f 41 01       	movdqu 0x1(%rcx),%xmm0
  4035b6:	89 d7                	mov    %edx,%edi
  4035b8:	4c 8d 64 3d 00       	lea    0x0(%rbp,%rdi,1),%r12
  4035bd:	48 01 f7             	add    %rsi,%rdi
  4035c0:	0f 11 45 00          	movups %xmm0,0x0(%rbp)
  4035c4:	48 89 7c 24 48       	mov    %rdi,0x48(%rsp)
  4035c9:	89 c5                	mov    %eax,%ebp
  4035cb:	83 e5 0f             	and    $0xf,%ebp
  4035ce:	e8 fd d7 ff ff       	callq  400dd0 <LZ4_readLE16@plt>
  4035d3:	48 8b 54 24 48       	mov    0x48(%rsp),%rdx
  4035d8:	44 0f b7 d0          	movzwl %ax,%r10d
  4035dc:	4d 89 e1             	mov    %r12,%r9
  4035df:	0f b7 c0             	movzwl %ax,%eax
  4035e2:	49 29 c1             	sub    %rax,%r9
  4035e5:	48 8d 4a 02          	lea    0x2(%rdx),%rcx
  4035e9:	4d 39 cc             	cmp    %r9,%r12
  4035ec:	48 89 4c 24 48       	mov    %rcx,0x48(%rsp)
  4035f1:	0f 82 0e 05 00 00    	jb     403b05 <lz4_decompress+0x965>
  4035f7:	83 fd 0f             	cmp    $0xf,%ebp
  4035fa:	40 0f 95 c6          	setne  %sil
  4035fe:	41 83 fa 07          	cmp    $0x7,%r10d
  403602:	0f 97 c0             	seta   %al
  403605:	40 84 c6             	test   %al,%sil
  403608:	0f 84 e7 fe ff ff    	je     4034f5 <lz4_decompress+0x355>
  40360e:	4d 39 cf             	cmp    %r9,%r15
  403611:	0f 87 de fe ff ff    	ja     4034f5 <lz4_decompress+0x355>
  403617:	49 8b 01             	mov    (%r9),%rax
  40361a:	48 8d 72 03          	lea    0x3(%rdx),%rsi
  40361e:	83 c5 04             	add    $0x4,%ebp
  403621:	4c 01 e5             	add    %r12,%rbp
  403624:	48 89 74 24 48       	mov    %rsi,0x48(%rsp)
  403629:	49 89 04 24          	mov    %rax,(%r12)
  40362d:	49 8b 41 08          	mov    0x8(%r9),%rax
  403631:	49 89 44 24 08       	mov    %rax,0x8(%r12)
  403636:	41 0f b7 41 10       	movzwl 0x10(%r9),%eax
  40363b:	66 41 89 44 24 10    	mov    %ax,0x10(%r12)
  403641:	44 0f b6 5a 02       	movzbl 0x2(%rdx),%r11d
  403646:	44 89 da             	mov    %r11d,%edx
  403649:	44 89 d8             	mov    %r11d,%eax
  40364c:	c1 ea 04             	shr    $0x4,%edx
  40364f:	4c 39 f6             	cmp    %r14,%rsi
  403652:	0f 87 cc 04 00 00    	ja     403b24 <lz4_decompress+0x984>
  403658:	83 fa 0f             	cmp    $0xf,%edx
  40365b:	0f 84 35 04 00 00    	je     403a96 <lz4_decompress+0x8f6>
  403661:	48 3b 34 24          	cmp    (%rsp),%rsi
  403665:	0f 82 3b ff ff ff    	jb     4035a6 <lz4_decompress+0x406>
  40366b:	89 d0                	mov    %edx,%eax
  40366d:	4c 8d 64 05 00       	lea    0x0(%rbp,%rax,1),%r12
  403672:	48 8d 3c 06          	lea    (%rsi,%rax,1),%rdi
  403676:	e9 23 fe ff ff       	jmpq   40349e <lz4_decompress+0x2fe>
  40367b:	49 8d 45 f9          	lea    -0x7(%r13),%rax
  40367f:	49 83 c4 08          	add    $0x8,%r12
  403683:	49 39 c4             	cmp    %rax,%r12
  403686:	0f 82 19 03 00 00    	jb     4039a5 <lz4_decompress+0x805>
  40368c:	49 39 ec             	cmp    %rbp,%r12
  40368f:	0f 83 d3 fe ff ff    	jae    403568 <lz4_decompress+0x3c8>
  403695:	49 8d 44 24 01       	lea    0x1(%r12),%rax
  40369a:	49 8d 51 10          	lea    0x10(%r9),%rdx
  40369e:	48 89 ee             	mov    %rbp,%rsi
  4036a1:	48 29 c6             	sub    %rax,%rsi
  4036a4:	49 39 d4             	cmp    %rdx,%r12
  4036a7:	49 8d 54 24 10       	lea    0x10(%r12),%rdx
  4036ac:	40 0f 93 c7          	setae  %dil
  4036b0:	48 89 c1             	mov    %rax,%rcx
  4036b3:	4c 8d 46 01          	lea    0x1(%rsi),%r8
  4036b7:	49 39 d1             	cmp    %rdx,%r9
  4036ba:	0f 93 c2             	setae  %dl
  4036bd:	40 08 d7             	or     %dl,%dil
  4036c0:	0f 84 2f 03 00 00    	je     4039f5 <lz4_decompress+0x855>
  4036c6:	49 83 f8 16          	cmp    $0x16,%r8
  4036ca:	0f 86 25 03 00 00    	jbe    4039f5 <lz4_decompress+0x855>
  4036d0:	4c 89 ca             	mov    %r9,%rdx
  4036d3:	48 f7 da             	neg    %rdx
  4036d6:	83 e2 0f             	and    $0xf,%edx
  4036d9:	48 8d 7a 0f          	lea    0xf(%rdx),%rdi
  4036dd:	48 39 f7             	cmp    %rsi,%rdi
  4036e0:	0f 87 ee 01 00 00    	ja     4038d4 <lz4_decompress+0x734>
  4036e6:	48 85 d2             	test   %rdx,%rdx
  4036e9:	0f 84 ec 03 00 00    	je     403adb <lz4_decompress+0x93b>
  4036ef:	41 0f b6 01          	movzbl (%r9),%eax
  4036f3:	48 83 fa 01          	cmp    $0x1,%rdx
  4036f7:	49 8d 71 01          	lea    0x1(%r9),%rsi
  4036fb:	41 88 04 24          	mov    %al,(%r12)
  4036ff:	0f 84 78 01 00 00    	je     40387d <lz4_decompress+0x6dd>
  403705:	41 0f b6 41 01       	movzbl 0x1(%r9),%eax
  40370a:	48 83 fa 02          	cmp    $0x2,%rdx
  40370e:	49 8d 71 02          	lea    0x2(%r9),%rsi
  403712:	49 8d 4c 24 02       	lea    0x2(%r12),%rcx
  403717:	41 88 44 24 01       	mov    %al,0x1(%r12)
  40371c:	0f 84 5b 01 00 00    	je     40387d <lz4_decompress+0x6dd>
  403722:	41 0f b6 41 02       	movzbl 0x2(%r9),%eax
  403727:	48 83 fa 03          	cmp    $0x3,%rdx
  40372b:	49 8d 71 03          	lea    0x3(%r9),%rsi
  40372f:	49 8d 4c 24 03       	lea    0x3(%r12),%rcx
  403734:	41 88 44 24 02       	mov    %al,0x2(%r12)
  403739:	0f 84 3e 01 00 00    	je     40387d <lz4_decompress+0x6dd>
  40373f:	41 0f b6 41 03       	movzbl 0x3(%r9),%eax
  403744:	48 83 fa 04          	cmp    $0x4,%rdx
  403748:	49 8d 71 04          	lea    0x4(%r9),%rsi
  40374c:	49 8d 4c 24 04       	lea    0x4(%r12),%rcx
  403751:	41 88 44 24 03       	mov    %al,0x3(%r12)
  403756:	0f 84 21 01 00 00    	je     40387d <lz4_decompress+0x6dd>
  40375c:	41 0f b6 41 04       	movzbl 0x4(%r9),%eax
  403761:	48 83 fa 05          	cmp    $0x5,%rdx
  403765:	49 8d 71 05          	lea    0x5(%r9),%rsi
  403769:	49 8d 4c 24 05       	lea    0x5(%r12),%rcx
  40376e:	41 88 44 24 04       	mov    %al,0x4(%r12)
  403773:	0f 84 04 01 00 00    	je     40387d <lz4_decompress+0x6dd>
  403779:	41 0f b6 41 05       	movzbl 0x5(%r9),%eax
  40377e:	48 83 fa 06          	cmp    $0x6,%rdx
  403782:	49 8d 71 06          	lea    0x6(%r9),%rsi
  403786:	49 8d 4c 24 06       	lea    0x6(%r12),%rcx
  40378b:	41 88 44 24 05       	mov    %al,0x5(%r12)
  403790:	0f 84 e7 00 00 00    	je     40387d <lz4_decompress+0x6dd>
  403796:	41 0f b6 41 06       	movzbl 0x6(%r9),%eax
  40379b:	48 83 fa 07          	cmp    $0x7,%rdx
  40379f:	49 8d 71 07          	lea    0x7(%r9),%rsi
  4037a3:	49 8d 4c 24 07       	lea    0x7(%r12),%rcx
  4037a8:	41 88 44 24 06       	mov    %al,0x6(%r12)
  4037ad:	0f 84 ca 00 00 00    	je     40387d <lz4_decompress+0x6dd>
  4037b3:	41 0f b6 41 07       	movzbl 0x7(%r9),%eax
  4037b8:	48 83 fa 08          	cmp    $0x8,%rdx
  4037bc:	49 8d 71 08          	lea    0x8(%r9),%rsi
  4037c0:	49 8d 4c 24 08       	lea    0x8(%r12),%rcx
  4037c5:	41 88 44 24 07       	mov    %al,0x7(%r12)
  4037ca:	0f 84 ad 00 00 00    	je     40387d <lz4_decompress+0x6dd>
  4037d0:	41 0f b6 41 08       	movzbl 0x8(%r9),%eax
  4037d5:	48 83 fa 09          	cmp    $0x9,%rdx
  4037d9:	49 8d 71 09          	lea    0x9(%r9),%rsi
  4037dd:	49 8d 4c 24 09       	lea    0x9(%r12),%rcx
  4037e2:	41 88 44 24 08       	mov    %al,0x8(%r12)
  4037e7:	0f 84 90 00 00 00    	je     40387d <lz4_decompress+0x6dd>
  4037ed:	41 0f b6 41 09       	movzbl 0x9(%r9),%eax
  4037f2:	48 83 fa 0a          	cmp    $0xa,%rdx
  4037f6:	49 8d 71 0a          	lea    0xa(%r9),%rsi
  4037fa:	49 8d 4c 24 0a       	lea    0xa(%r12),%rcx
  4037ff:	41 88 44 24 09       	mov    %al,0x9(%r12)
  403804:	74 77                	je     40387d <lz4_decompress+0x6dd>
  403806:	41 0f b6 41 0a       	movzbl 0xa(%r9),%eax
  40380b:	48 83 fa 0b          	cmp    $0xb,%rdx
  40380f:	49 8d 71 0b          	lea    0xb(%r9),%rsi
  403813:	49 8d 4c 24 0b       	lea    0xb(%r12),%rcx
  403818:	41 88 44 24 0a       	mov    %al,0xa(%r12)
  40381d:	74 5e                	je     40387d <lz4_decompress+0x6dd>
  40381f:	41 0f b6 41 0b       	movzbl 0xb(%r9),%eax
  403824:	48 83 fa 0c          	cmp    $0xc,%rdx
  403828:	49 8d 71 0c          	lea    0xc(%r9),%rsi
  40382c:	49 8d 4c 24 0c       	lea    0xc(%r12),%rcx
  403831:	41 88 44 24 0b       	mov    %al,0xb(%r12)
  403836:	74 45                	je     40387d <lz4_decompress+0x6dd>
  403838:	41 0f b6 41 0c       	movzbl 0xc(%r9),%eax
  40383d:	48 83 fa 0d          	cmp    $0xd,%rdx
  403841:	49 8d 71 0d          	lea    0xd(%r9),%rsi
  403845:	49 8d 4c 24 0d       	lea    0xd(%r12),%rcx
  40384a:	41 88 44 24 0c       	mov    %al,0xc(%r12)
  40384f:	74 2c                	je     40387d <lz4_decompress+0x6dd>
  403851:	41 0f b6 41 0d       	movzbl 0xd(%r9),%eax
  403856:	48 83 fa 0f          	cmp    $0xf,%rdx
  40385a:	49 8d 71 0e          	lea    0xe(%r9),%rsi
  40385e:	49 8d 4c 24 0e       	lea    0xe(%r12),%rcx
  403863:	41 88 44 24 0d       	mov    %al,0xd(%r12)
  403868:	75 13                	jne    40387d <lz4_decompress+0x6dd>
  40386a:	41 0f b6 41 0e       	movzbl 0xe(%r9),%eax
  40386f:	49 8d 71 0f          	lea    0xf(%r9),%rsi
  403873:	49 8d 4c 24 0f       	lea    0xf(%r12),%rcx
  403878:	41 88 44 24 0e       	mov    %al,0xe(%r12)
  40387d:	49 29 d0             	sub    %rdx,%r8
  403880:	49 01 d1             	add    %rdx,%r9
  403883:	49 01 d4             	add    %rdx,%r12
  403886:	4c 89 c7             	mov    %r8,%rdi
  403889:	31 c0                	xor    %eax,%eax
  40388b:	45 31 d2             	xor    %r10d,%r10d
  40388e:	48 c1 ef 04          	shr    $0x4,%rdi
  403892:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
  403898:	66 41 0f 6f 04 01    	movdqa (%r9,%rax,1),%xmm0
  40389e:	49 83 c2 01          	add    $0x1,%r10
  4038a2:	41 0f 11 04 04       	movups %xmm0,(%r12,%rax,1)
  4038a7:	48 83 c0 10          	add    $0x10,%rax
  4038ab:	4c 39 d7             	cmp    %r10,%rdi
  4038ae:	77 e8                	ja     403898 <lz4_decompress+0x6f8>
  4038b0:	4c 89 c0             	mov    %r8,%rax
  4038b3:	48 83 e0 f0          	and    $0xfffffffffffffff0,%rax
  4038b7:	4c 39 c0             	cmp    %r8,%rax
  4038ba:	4c 8d 24 01          	lea    (%rcx,%rax,1),%r12
  4038be:	4c 8d 0c 06          	lea    (%rsi,%rax,1),%r9
  4038c2:	0f 84 a0 fc ff ff    	je     403568 <lz4_decompress+0x3c8>
  4038c8:	49 8d 44 24 01       	lea    0x1(%r12),%rax
  4038cd:	eb 05                	jmp    4038d4 <lz4_decompress+0x734>
  4038cf:	90                   	nop
  4038d0:	48 83 c0 01          	add    $0x1,%rax
  4038d4:	49 83 c1 01          	add    $0x1,%r9
  4038d8:	41 0f b6 51 ff       	movzbl -0x1(%r9),%edx
  4038dd:	48 39 e8             	cmp    %rbp,%rax
  4038e0:	88 50 ff             	mov    %dl,-0x1(%rax)
  4038e3:	72 eb                	jb     4038d0 <lz4_decompress+0x730>
  4038e5:	e9 7e fc ff ff       	jmpq   403568 <lz4_decompress+0x3c8>
  4038ea:	49 8d 76 fc          	lea    -0x4(%r14),%rsi
  4038ee:	48 8d 7c 24 48       	lea    0x48(%rsp),%rdi
  4038f3:	4c 8d 44 24 44       	lea    0x44(%rsp),%r8
  4038f8:	31 c9                	xor    %ecx,%ecx
  4038fa:	ba 01 00 00 00       	mov    $0x1,%edx
  4038ff:	44 89 54 24 08       	mov    %r10d,0x8(%rsp)
  403904:	4c 89 0c 24          	mov    %r9,(%rsp)
  403908:	c7 44 24 44 00 00 00 	movl   $0x0,0x44(%rsp)
  40390f:	00 
  403910:	e8 6b d4 ff ff       	callq  400d80 <read_variable_length@plt>
  403915:	8b 54 24 44          	mov    0x44(%rsp),%edx
  403919:	85 d2                	test   %edx,%edx
  40391b:	0f 85 5f fb ff ff    	jne    403480 <lz4_decompress+0x2e0>
  403921:	8d 68 0f             	lea    0xf(%rax),%ebp
  403924:	4c 8b 0c 24          	mov    (%rsp),%r9
  403928:	44 8b 54 24 08       	mov    0x8(%rsp),%r10d
  40392d:	e9 cc fb ff ff       	jmpq   4034fe <lz4_decompress+0x35e>
  403932:	31 f6                	xor    %esi,%esi
  403934:	4c 89 e7             	mov    %r12,%rdi
  403937:	44 89 54 24 14       	mov    %r10d,0x14(%rsp)
  40393c:	4c 89 4c 24 08       	mov    %r9,0x8(%rsp)
  403941:	89 04 24             	mov    %eax,(%rsp)
  403944:	e8 47 d4 ff ff       	callq  400d90 <LZ4_write32@plt>
  403949:	4c 8b 4c 24 08       	mov    0x8(%rsp),%r9
  40394e:	44 8b 54 24 14       	mov    0x14(%rsp),%r10d
  403953:	8b 04 24             	mov    (%rsp),%eax
  403956:	41 0f b6 11          	movzbl (%r9),%edx
  40395a:	41 88 14 24          	mov    %dl,(%r12)
  40395e:	41 0f b6 51 01       	movzbl 0x1(%r9),%edx
  403963:	41 88 54 24 01       	mov    %dl,0x1(%r12)
  403968:	41 0f b6 51 02       	movzbl 0x2(%r9),%edx
  40396d:	41 88 54 24 02       	mov    %dl,0x2(%r12)
  403972:	41 0f b6 51 03       	movzbl 0x3(%r9),%edx
  403977:	41 88 54 24 03       	mov    %dl,0x3(%r12)
  40397c:	48 8b 15 45 16 20 00 	mov    0x201645(%rip),%rdx        # 604fc8 <inc32table@@Base-0x178>
  403983:	42 8b 14 92          	mov    (%rdx,%r10,4),%edx
  403987:	49 01 d1             	add    %rdx,%r9
  40398a:	41 8b 11             	mov    (%r9),%edx
  40398d:	41 89 54 24 04       	mov    %edx,0x4(%r12)
  403992:	48 8b 15 4f 16 20 00 	mov    0x20164f(%rip),%rdx        # 604fe8 <dec64table@@Base-0x138>
  403999:	4a 63 14 92          	movslq (%rdx,%r10,4),%rdx
  40399d:	49 29 d1             	sub    %rdx,%r9
  4039a0:	e9 bd fa ff ff       	jmpq   403462 <lz4_decompress+0x2c2>
  4039a5:	48 89 c2             	mov    %rax,%rdx
  4039a8:	4c 89 ce             	mov    %r9,%rsi
  4039ab:	4c 89 e7             	mov    %r12,%rdi
  4039ae:	48 89 44 24 08       	mov    %rax,0x8(%rsp)
  4039b3:	4c 89 0c 24          	mov    %r9,(%rsp)
  4039b7:	e8 b4 d3 ff ff       	callq  400d70 <LZ4_wildCopy8@plt>
  4039bc:	48 8b 44 24 08       	mov    0x8(%rsp),%rax
  4039c1:	4c 8b 0c 24          	mov    (%rsp),%r9
  4039c5:	48 89 c2             	mov    %rax,%rdx
  4039c8:	4c 29 e2             	sub    %r12,%rdx
  4039cb:	49 89 c4             	mov    %rax,%r12
  4039ce:	49 01 d1             	add    %rdx,%r9
  4039d1:	e9 b6 fc ff ff       	jmpq   40368c <lz4_decompress+0x4ec>
  4039d6:	48 8d 0d 43 0a 00 00 	lea    0xa43(%rip),%rcx        # 404420 <__PRETTY_FUNCTION__.3115>
  4039dd:	48 8d 35 7c 09 00 00 	lea    0x97c(%rip),%rsi        # 404360 <ip+0x40>
  4039e4:	48 8d 3d 15 0a 00 00 	lea    0xa15(%rip),%rdi        # 404400 <ip+0xe0>
  4039eb:	ba df 00 00 00       	mov    $0xdf,%edx
  4039f0:	e8 2b d3 ff ff       	callq  400d20 <__assert_fail@plt>
  4039f5:	48 89 ea             	mov    %rbp,%rdx
  4039f8:	4c 29 e2             	sub    %r12,%rdx
  4039fb:	4c 01 ca             	add    %r9,%rdx
  4039fe:	eb 04                	jmp    403a04 <lz4_decompress+0x864>
  403a00:	48 83 c0 01          	add    $0x1,%rax
  403a04:	49 83 c1 01          	add    $0x1,%r9
  403a08:	41 0f b6 49 ff       	movzbl -0x1(%r9),%ecx
  403a0d:	49 39 d1             	cmp    %rdx,%r9
  403a10:	88 48 ff             	mov    %cl,-0x1(%rax)
  403a13:	75 eb                	jne    403a00 <lz4_decompress+0x860>
  403a15:	e9 4e fb ff ff       	jmpq   403568 <lz4_decompress+0x3c8>
  403a1a:	48 8d 0d ff 09 00 00 	lea    0x9ff(%rip),%rcx        # 404420 <__PRETTY_FUNCTION__.3115>
  403a21:	48 8d 35 38 09 00 00 	lea    0x938(%rip),%rsi        # 404360 <ip+0x40>
  403a28:	48 8d 3d 77 09 00 00 	lea    0x977(%rip),%rdi        # 4043a6 <ip+0x86>
  403a2f:	ba a7 00 00 00       	mov    $0xa7,%edx
  403a34:	e8 e7 d2 ff ff       	callq  400d20 <__assert_fail@plt>
  403a39:	48 8d 0d e0 09 00 00 	lea    0x9e0(%rip),%rcx        # 404420 <__PRETTY_FUNCTION__.3115>
  403a40:	48 8d 35 19 09 00 00 	lea    0x919(%rip),%rsi        # 404360 <ip+0x40>
  403a47:	48 8d 3d 4e 09 00 00 	lea    0x94e(%rip),%rdi        # 40439c <ip+0x7c>
  403a4e:	ba a2 00 00 00       	mov    $0xa2,%edx
  403a53:	e8 c8 d2 ff ff       	callq  400d20 <__assert_fail@plt>
  403a58:	48 8d 0d c1 09 00 00 	lea    0x9c1(%rip),%rcx        # 404420 <__PRETTY_FUNCTION__.3115>
  403a5f:	48 8d 35 fa 08 00 00 	lea    0x8fa(%rip),%rsi        # 404360 <ip+0x40>
  403a66:	48 8d 3d 6b 09 00 00 	lea    0x96b(%rip),%rdi        # 4043d8 <ip+0xb8>
  403a6d:	ba a1 00 00 00       	mov    $0xa1,%edx
  403a72:	e8 a9 d2 ff ff       	callq  400d20 <__assert_fail@plt>
  403a77:	48 8d 0d a2 09 00 00 	lea    0x9a2(%rip),%rcx        # 404420 <__PRETTY_FUNCTION__.3115>
  403a7e:	48 8d 35 db 08 00 00 	lea    0x8db(%rip),%rsi        # 404360 <ip+0x40>
  403a85:	48 8d 3d 25 09 00 00 	lea    0x925(%rip),%rdi        # 4043b1 <ip+0x91>
  403a8c:	ba bb 00 00 00       	mov    $0xbb,%edx
  403a91:	e8 8a d2 ff ff       	callq  400d20 <__assert_fail@plt>
  403a96:	49 8d 76 f1          	lea    -0xf(%r14),%rsi
  403a9a:	48 8d 7c 24 48       	lea    0x48(%rsp),%rdi
  403a9f:	4c 8d 44 24 44       	lea    0x44(%rsp),%r8
  403aa4:	b9 01 00 00 00       	mov    $0x1,%ecx
  403aa9:	ba 01 00 00 00       	mov    $0x1,%edx
  403aae:	44 89 1c 24          	mov    %r11d,(%rsp)
  403ab2:	c7 44 24 44 00 00 00 	movl   $0x0,0x44(%rsp)
  403ab9:	00 
  403aba:	e8 c1 d2 ff ff       	callq  400d80 <read_variable_length@plt>
  403abf:	83 7c 24 44 ff       	cmpl   $0xffffffff,0x44(%rsp)
  403ac4:	44 8b 1c 24          	mov    (%rsp),%r11d
  403ac8:	0f 84 b2 f9 ff ff    	je     403480 <lz4_decompress+0x2e0>
  403ace:	8d 50 0f             	lea    0xf(%rax),%edx
  403ad1:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
  403ad6:	e9 90 fb ff ff       	jmpq   40366b <lz4_decompress+0x4cb>
  403adb:	4c 89 ce             	mov    %r9,%rsi
  403ade:	4c 89 e1             	mov    %r12,%rcx
  403ae1:	e9 97 fd ff ff       	jmpq   40387d <lz4_decompress+0x6dd>
  403ae6:	48 8d 0d 33 09 00 00 	lea    0x933(%rip),%rcx        # 404420 <__PRETTY_FUNCTION__.3115>
  403aed:	48 8d 35 6c 08 00 00 	lea    0x86c(%rip),%rsi        # 404360 <ip+0x40>
  403af4:	48 8d 3d c2 08 00 00 	lea    0x8c2(%rip),%rdi        # 4043bd <ip+0x9d>
  403afb:	ba d2 00 00 00       	mov    $0xd2,%edx
  403b00:	e8 1b d2 ff ff       	callq  400d20 <__assert_fail@plt>
  403b05:	48 8d 0d 14 09 00 00 	lea    0x914(%rip),%rcx        # 404420 <__PRETTY_FUNCTION__.3115>
  403b0c:	48 8d 35 4d 08 00 00 	lea    0x84d(%rip),%rsi        # 404360 <ip+0x40>
  403b13:	48 8d 3d 97 08 00 00 	lea    0x897(%rip),%rdi        # 4043b1 <ip+0x91>
  403b1a:	ba f8 00 00 00       	mov    $0xf8,%edx
  403b1f:	e8 fc d1 ff ff       	callq  400d20 <__assert_fail@plt>
  403b24:	48 8d 0d f5 08 00 00 	lea    0x8f5(%rip),%rcx        # 404420 <__PRETTY_FUNCTION__.3115>
  403b2b:	48 8d 35 2e 08 00 00 	lea    0x82e(%rip),%rsi        # 404360 <ip+0x40>
  403b32:	48 8d 3d 6d 08 00 00 	lea    0x86d(%rip),%rdi        # 4043a6 <ip+0x86>
  403b39:	ba ed 00 00 00       	mov    $0xed,%edx
  403b3e:	e8 dd d1 ff ff       	callq  400d20 <__assert_fail@plt>
  403b43:	48 8d 0d d6 08 00 00 	lea    0x8d6(%rip),%rcx        # 404420 <__PRETTY_FUNCTION__.3115>
  403b4a:	48 8d 35 0f 08 00 00 	lea    0x80f(%rip),%rsi        # 404360 <ip+0x40>
  403b51:	48 8d 3d 75 08 00 00 	lea    0x875(%rip),%rdi        # 4043cd <ip+0xad>
  403b58:	ba 30 01 00 00       	mov    $0x130,%edx
  403b5d:	e8 be d1 ff ff       	callq  400d20 <__assert_fail@plt>
  403b62:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
  403b69:	00 00 00 
  403b6c:	0f 1f 40 00          	nopl   0x0(%rax)

0000000000403b70 <printData1>:
  403b70:	41 55                	push   %r13
  403b72:	41 54                	push   %r12
  403b74:	49 89 f4             	mov    %rsi,%r12
  403b77:	55                   	push   %rbp
  403b78:	53                   	push   %rbx
  403b79:	48 89 fe             	mov    %rdi,%rsi
  403b7c:	48 8d 3d ed 08 00 00 	lea    0x8ed(%rip),%rdi        # 404470 <__PRETTY_FUNCTION__.3081+0x20>
  403b83:	89 d3                	mov    %edx,%ebx
  403b85:	31 c0                	xor    %eax,%eax
  403b87:	48 83 ec 08          	sub    $0x8,%rsp
  403b8b:	e8 80 d1 ff ff       	callq  400d10 <printf@plt>
  403b90:	85 db                	test   %ebx,%ebx
  403b92:	7e 5c                	jle    403bf0 <printData1+0x80>
  403b94:	41 0f b6 34 24       	movzbl (%r12),%esi
  403b99:	8d 6b ff             	lea    -0x1(%rbx),%ebp
  403b9c:	48 8d 3d f5 08 00 00 	lea    0x8f5(%rip),%rdi        # 404498 <__PRETTY_FUNCTION__.3081+0x48>
  403ba3:	31 c0                	xor    %eax,%eax
  403ba5:	bb 01 00 00 00       	mov    $0x1,%ebx
  403baa:	4c 8d 2d e7 08 00 00 	lea    0x8e7(%rip),%r13        # 404498 <__PRETTY_FUNCTION__.3081+0x48>
  403bb1:	48 83 c5 01          	add    $0x1,%rbp
  403bb5:	e8 56 d1 ff ff       	callq  400d10 <printf@plt>
  403bba:	eb 08                	jmp    403bc4 <printData1+0x54>
  403bbc:	0f 1f 40 00          	nopl   0x0(%rax)
  403bc0:	48 83 c3 01          	add    $0x1,%rbx
  403bc4:	48 39 dd             	cmp    %rbx,%rbp
  403bc7:	74 27                	je     403bf0 <printData1+0x80>
  403bc9:	41 0f b6 34 1c       	movzbl (%r12,%rbx,1),%esi
  403bce:	31 c0                	xor    %eax,%eax
  403bd0:	4c 89 ef             	mov    %r13,%rdi
  403bd3:	e8 38 d1 ff ff       	callq  400d10 <printf@plt>
  403bd8:	89 d8                	mov    %ebx,%eax
  403bda:	83 e0 0f             	and    $0xf,%eax
  403bdd:	83 f8 0f             	cmp    $0xf,%eax
  403be0:	75 de                	jne    403bc0 <printData1+0x50>
  403be2:	bf 0a 00 00 00       	mov    $0xa,%edi
  403be7:	e8 d4 d0 ff ff       	callq  400cc0 <putchar@plt>
  403bec:	eb d2                	jmp    403bc0 <printData1+0x50>
  403bee:	66 90                	xchg   %ax,%ax
  403bf0:	48 83 c4 08          	add    $0x8,%rsp
  403bf4:	bf 0a 00 00 00       	mov    $0xa,%edi
  403bf9:	5b                   	pop    %rbx
  403bfa:	5d                   	pop    %rbp
  403bfb:	41 5c                	pop    %r12
  403bfd:	41 5d                	pop    %r13
  403bff:	e9 bc d0 ff ff       	jmpq   400cc0 <putchar@plt>
  403c04:	66 90                	xchg   %ax,%ax
  403c06:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
  403c0d:	00 00 00 

0000000000403c10 <idea_decrypt>:
  403c10:	41 57                	push   %r15
  403c12:	41 56                	push   %r14
  403c14:	8d 42 07             	lea    0x7(%rdx),%eax
  403c17:	41 55                	push   %r13
  403c19:	41 54                	push   %r12
  403c1b:	41 89 d5             	mov    %edx,%r13d
  403c1e:	55                   	push   %rbp
  403c1f:	53                   	push   %rbx
  403c20:	4d 89 c6             	mov    %r8,%r14
  403c23:	48 83 ec 08          	sub    $0x8,%rsp
  403c27:	85 d2                	test   %edx,%edx
  403c29:	0f 49 c2             	cmovns %edx,%eax
  403c2c:	c1 f8 03             	sar    $0x3,%eax
  403c2f:	41 f6 c5 07          	test   $0x7,%r13b
  403c33:	8d 50 01             	lea    0x1(%rax),%edx
  403c36:	0f 44 c2             	cmove  %edx,%eax
  403c39:	85 c0                	test   %eax,%eax
  403c3b:	7e 2e                	jle    403c6b <idea_decrypt+0x5b>
  403c3d:	83 e8 01             	sub    $0x1,%eax
  403c40:	49 89 fc             	mov    %rdi,%r12
  403c43:	48 89 f3             	mov    %rsi,%rbx
  403c46:	4c 8d 7c c6 08       	lea    0x8(%rsi,%rax,8),%r15
  403c4b:	48 89 cd             	mov    %rcx,%rbp
  403c4e:	66 90                	xchg   %ax,%ax
  403c50:	48 89 ee             	mov    %rbp,%rsi
  403c53:	48 89 df             	mov    %rbx,%rdi
  403c56:	4c 89 e2             	mov    %r12,%rdx
  403c59:	48 83 c3 08          	add    $0x8,%rbx
  403c5d:	48 83 c5 08          	add    $0x8,%rbp
  403c61:	e8 ca d0 ff ff       	callq  400d30 <idea_ecb_encrypt@plt>
  403c66:	49 39 df             	cmp    %rbx,%r15
  403c69:	75 e5                	jne    403c50 <idea_decrypt+0x40>
  403c6b:	45 89 2e             	mov    %r13d,(%r14)
  403c6e:	48 83 c4 08          	add    $0x8,%rsp
  403c72:	5b                   	pop    %rbx
  403c73:	5d                   	pop    %rbp
  403c74:	41 5c                	pop    %r12
  403c76:	41 5d                	pop    %r13
  403c78:	41 5e                	pop    %r14
  403c7a:	41 5f                	pop    %r15
  403c7c:	c3                   	retq   
  403c7d:	0f 1f 00             	nopl   (%rax)

0000000000403c80 <gen_passkey>:
  403c80:	41 57                	push   %r15
  403c82:	41 56                	push   %r14
  403c84:	48 b8 4d 41 54 52 49 	movabs $0x494958495254414d,%rax
  403c8b:	58 49 49 
  403c8e:	41 55                	push   %r13
  403c90:	41 54                	push   %r12
  403c92:	41 89 cf             	mov    %ecx,%r15d
  403c95:	55                   	push   %rbp
  403c96:	53                   	push   %rbx
  403c97:	48 89 fb             	mov    %rdi,%rbx
  403c9a:	49 89 f4             	mov    %rsi,%r12
  403c9d:	48 81 ec 88 01 00 00 	sub    $0x188,%rsp
  403ca4:	48 8d 7c 24 30       	lea    0x30(%rsp),%rdi
  403ca9:	89 4c 24 1c          	mov    %ecx,0x1c(%rsp)
  403cad:	48 89 44 24 27       	mov    %rax,0x27(%rsp)
  403cb2:	b9 10 00 00 00       	mov    $0x10,%ecx
  403cb7:	31 c0                	xor    %eax,%eax
  403cb9:	4c 8d 74 24 30       	lea    0x30(%rsp),%r14
  403cbe:	f3 48 ab             	rep stos %rax,%es:(%rdi)
  403cc1:	48 8d bc 24 b0 00 00 	lea    0xb0(%rsp),%rdi
  403cc8:	00 
  403cc9:	b9 19 00 00 00       	mov    $0x19,%ecx
  403cce:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
  403cd3:	c6 44 24 2f 00       	movb   $0x0,0x2f(%rsp)
  403cd8:	f3 48 ab             	rep stos %rax,%es:(%rdi)
  403cdb:	4c 89 f7             	mov    %r14,%rdi
  403cde:	e8 ed cf ff ff       	callq  400cd0 <desinit@plt>
  403ce3:	48 8d 74 24 27       	lea    0x27(%rsp),%rsi
  403ce8:	4c 89 f7             	mov    %r14,%rdi
  403ceb:	e8 60 d0 ff ff       	callq  400d50 <dessetkey@plt>
  403cf0:	48 8b 03             	mov    (%rbx),%rax
  403cf3:	48 bb 20 20 20 20 20 	movabs $0x2020202020202020,%rbx
  403cfa:	20 20 20 
  403cfd:	c6 84 24 b8 00 00 00 	movb   $0x7c,0xb8(%rsp)
  403d04:	7c 
  403d05:	48 89 9c 24 b9 00 00 	mov    %rbx,0xb9(%rsp)
  403d0c:	00 
  403d0d:	c6 84 24 c3 00 00 00 	movb   $0x20,0xc3(%rsp)
  403d14:	20 
  403d15:	48 89 84 24 b0 00 00 	mov    %rax,0xb0(%rsp)
  403d1c:	00 
  403d1d:	b8 20 20 00 00       	mov    $0x2020,%eax
  403d22:	66 89 84 24 c1 00 00 	mov    %ax,0xc1(%rsp)
  403d29:	00 
  403d2a:	41 8d 47 0e          	lea    0xe(%r15),%eax
  403d2e:	41 83 c7 07          	add    $0x7,%r15d
  403d32:	41 0f 49 c7          	cmovns %r15d,%eax
  403d36:	c1 f8 03             	sar    $0x3,%eax
  403d39:	85 c0                	test   %eax,%eax
  403d3b:	7e 65                	jle    403da2 <gen_passkey+0x122>
  403d3d:	48 8d 8c 24 b0 00 00 	lea    0xb0(%rsp),%rcx
  403d44:	00 
  403d45:	83 e8 01             	sub    $0x1,%eax
  403d48:	48 8d 2d 52 07 00 00 	lea    0x752(%rip),%rbp        # 4044a1 <__PRETTY_FUNCTION__.3081+0x51>
  403d4f:	48 8d 44 c1 08       	lea    0x8(%rcx,%rax,8),%rax
  403d54:	49 89 cd             	mov    %rcx,%r13
  403d57:	48 89 44 24 08       	mov    %rax,0x8(%rsp)
  403d5c:	0f 1f 40 00          	nopl   0x0(%rax)
  403d60:	49 8d 5d 08          	lea    0x8(%r13),%rbx
  403d64:	4c 89 ee             	mov    %r13,%rsi
  403d67:	4c 89 f7             	mov    %r14,%rdi
  403d6a:	4d 89 e7             	mov    %r12,%r15
  403d6d:	e8 2e d0 ff ff       	callq  400da0 <endes@plt>
  403d72:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
  403d78:	41 0f b6 55 00       	movzbl 0x0(%r13),%edx
  403d7d:	4c 89 ff             	mov    %r15,%rdi
  403d80:	31 c0                	xor    %eax,%eax
  403d82:	48 89 ee             	mov    %rbp,%rsi
  403d85:	49 83 c5 01          	add    $0x1,%r13
  403d89:	49 83 c7 02          	add    $0x2,%r15
  403d8d:	e8 7e d0 ff ff       	callq  400e10 <sprintf@plt>
  403d92:	49 39 dd             	cmp    %rbx,%r13
  403d95:	75 e1                	jne    403d78 <gen_passkey+0xf8>
  403d97:	49 83 c4 10          	add    $0x10,%r12
  403d9b:	4c 39 6c 24 08       	cmp    %r13,0x8(%rsp)
  403da0:	75 be                	jne    403d60 <gen_passkey+0xe0>
  403da2:	44 8b 6c 24 1c       	mov    0x1c(%rsp),%r13d
  403da7:	48 8b 44 24 10       	mov    0x10(%rsp),%rax
  403dac:	48 8d 3d f3 06 00 00 	lea    0x6f3(%rip),%rdi        # 4044a6 <__PRETTY_FUNCTION__.3081+0x56>
  403db3:	ba 40 00 00 00       	mov    $0x40,%edx
  403db8:	45 01 ed             	add    %r13d,%r13d
  403dbb:	48 89 c6             	mov    %rax,%rsi
  403dbe:	4d 63 ed             	movslq %r13d,%r13
  403dc1:	42 c6 04 28 00       	movb   $0x0,(%rax,%r13,1)
  403dc6:	e8 75 cf ff ff       	callq  400d40 <printData1@plt>
  403dcb:	48 81 c4 88 01 00 00 	add    $0x188,%rsp
  403dd2:	31 c0                	xor    %eax,%eax
  403dd4:	5b                   	pop    %rbx
  403dd5:	5d                   	pop    %rbp
  403dd6:	41 5c                	pop    %r12
  403dd8:	41 5d                	pop    %r13
  403dda:	41 5e                	pop    %r14
  403ddc:	41 5f                	pop    %r15
  403dde:	c3                   	retq   
  403ddf:	90                   	nop

0000000000403de0 <init_key>:
  403de0:	66 0f ef c0          	pxor   %xmm0,%xmm0
  403de4:	41 57                	push   %r15
  403de6:	41 56                	push   %r14
  403de8:	41 55                	push   %r13
  403dea:	41 54                	push   %r12
  403dec:	55                   	push   %rbp
  403ded:	49 89 fc             	mov    %rdi,%r12
  403df0:	53                   	push   %rbx
  403df1:	48 89 d3             	mov    %rdx,%rbx
  403df4:	89 f2                	mov    %esi,%edx
  403df6:	48 89 fe             	mov    %rdi,%rsi
  403df9:	48 8d 3d ad 06 00 00 	lea    0x6ad(%rip),%rdi        # 4044ad <__PRETTY_FUNCTION__.3081+0x5d>
  403e00:	89 cd                	mov    %ecx,%ebp
  403e02:	48 81 ec 58 02 00 00 	sub    $0x258,%rsp
  403e09:	0f 29 44 24 10       	movaps %xmm0,0x10(%rsp)
  403e0e:	0f 29 44 24 20       	movaps %xmm0,0x20(%rsp)
  403e13:	0f 29 44 24 30       	movaps %xmm0,0x30(%rsp)
  403e18:	0f 29 44 24 40       	movaps %xmm0,0x40(%rsp)
  403e1d:	0f 29 44 24 50       	movaps %xmm0,0x50(%rsp)
  403e22:	0f 29 44 24 60       	movaps %xmm0,0x60(%rsp)
  403e27:	0f 29 44 24 70       	movaps %xmm0,0x70(%rsp)
  403e2c:	0f 29 84 24 80 00 00 	movaps %xmm0,0x80(%rsp)
  403e33:	00 
  403e34:	e8 07 cf ff ff       	callq  400d40 <printData1@plt>
  403e39:	48 8d 3d 74 06 00 00 	lea    0x674(%rip),%rdi        # 4044b4 <__PRETTY_FUNCTION__.3081+0x64>
  403e40:	89 ea                	mov    %ebp,%edx
  403e42:	48 89 de             	mov    %rbx,%rsi
  403e45:	e8 f6 ce ff ff       	callq  400d40 <printData1@plt>
  403e4a:	bf d8 00 00 00       	mov    $0xd8,%edi
  403e4f:	e8 0c cf ff ff       	callq  400d60 <malloc@plt>
  403e54:	49 89 c6             	mov    %rax,%r14
  403e57:	31 c0                	xor    %eax,%eax
  403e59:	4d 85 f6             	test   %r14,%r14
  403e5c:	0f 84 a7 00 00 00    	je     403f09 <init_key+0x129>
  403e62:	4c 8d 6c 24 50       	lea    0x50(%rsp),%r13
  403e67:	48 8d 15 67 06 00 00 	lea    0x667(%rip),%rdx        # 4044d5 <__PRETTY_FUNCTION__.3081+0x85>
  403e6e:	b9 14 00 00 00       	mov    $0x14,%ecx
  403e73:	4c 89 e7             	mov    %r12,%rdi
  403e76:	4c 8d a4 24 90 00 00 	lea    0x90(%rsp),%r12
  403e7d:	00 
  403e7e:	4c 8d 7c 24 10       	lea    0x10(%rsp),%r15
  403e83:	4c 89 ee             	mov    %r13,%rsi
  403e86:	e8 65 cf ff ff       	callq  400df0 <gen_passkey@plt>
  403e8b:	4c 89 ef             	mov    %r13,%rdi
  403e8e:	4c 8d ac 24 70 01 00 	lea    0x170(%rsp),%r13
  403e95:	00 
  403e96:	4c 89 e6             	mov    %r12,%rsi
  403e99:	e8 12 cf ff ff       	callq  400db0 <idea_set_encrypt_key@plt>
  403e9e:	4c 89 ee             	mov    %r13,%rsi
  403ea1:	4c 89 e7             	mov    %r12,%rdi
  403ea4:	e8 97 cf ff ff       	callq  400e40 <idea_set_decrypt_key@plt>
  403ea9:	4c 8d 44 24 0c       	lea    0xc(%rsp),%r8
  403eae:	8d 55 ff             	lea    -0x1(%rbp),%edx
  403eb1:	48 8d 73 01          	lea    0x1(%rbx),%rsi
  403eb5:	4c 89 f9             	mov    %r15,%rcx
  403eb8:	4c 89 ef             	mov    %r13,%rdi
  403ebb:	c7 44 24 0c 40 00 00 	movl   $0x40,0xc(%rsp)
  403ec2:	00 
  403ec3:	e8 18 ce ff ff       	callq  400ce0 <idea_decrypt@plt>
  403ec8:	4c 89 e6             	mov    %r12,%rsi
  403ecb:	4c 89 ff             	mov    %r15,%rdi
  403ece:	e8 dd ce ff ff       	callq  400db0 <idea_set_encrypt_key@plt>
  403ed3:	4c 89 f6             	mov    %r14,%rsi
  403ed6:	4c 89 e7             	mov    %r12,%rdi
  403ed9:	e8 62 cf ff ff       	callq  400e40 <idea_set_decrypt_key@plt>
  403ede:	48 8d 3d d3 05 00 00 	lea    0x5d3(%rip),%rdi        # 4044b8 <__PRETTY_FUNCTION__.3081+0x68>
  403ee5:	ba d8 00 00 00       	mov    $0xd8,%edx
  403eea:	4c 89 e6             	mov    %r12,%rsi
  403eed:	e8 4e ce ff ff       	callq  400d40 <printData1@plt>
  403ef2:	48 8d 3d c3 05 00 00 	lea    0x5c3(%rip),%rdi        # 4044bc <__PRETTY_FUNCTION__.3081+0x6c>
  403ef9:	ba d8 00 00 00       	mov    $0xd8,%edx
  403efe:	4c 89 ee             	mov    %r13,%rsi
  403f01:	e8 3a ce ff ff       	callq  400d40 <printData1@plt>
  403f06:	4c 89 f0             	mov    %r14,%rax
  403f09:	48 81 c4 58 02 00 00 	add    $0x258,%rsp
  403f10:	5b                   	pop    %rbx
  403f11:	5d                   	pop    %rbp
  403f12:	41 5c                	pop    %r12
  403f14:	41 5d                	pop    %r13
  403f16:	41 5e                	pop    %r14
  403f18:	41 5f                	pop    %r15
  403f1a:	c3                   	retq   
  403f1b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

0000000000403f20 <decrypt>:
  403f20:	41 57                	push   %r15
  403f22:	41 56                	push   %r14
  403f24:	49 89 cf             	mov    %rcx,%r15
  403f27:	41 55                	push   %r13
  403f29:	41 54                	push   %r12
  403f2b:	49 89 fe             	mov    %rdi,%r14
  403f2e:	55                   	push   %rbp
  403f2f:	53                   	push   %rbx
  403f30:	89 d5                	mov    %edx,%ebp
  403f32:	48 89 f3             	mov    %rsi,%rbx
  403f35:	4d 89 c5             	mov    %r8,%r13
  403f38:	48 83 ec 08          	sub    $0x8,%rsp
  403f3c:	80 3e 30             	cmpb   $0x30,(%rsi)
  403f3f:	74 6f                	je     403fb0 <decrypt+0x90>
  403f41:	48 8b 35 98 10 20 00 	mov    0x201098(%rip),%rsi        # 604fe0 <dstbuf@@Base-0x1a0>
  403f48:	48 8d 3d 72 05 00 00 	lea    0x572(%rip),%rdi        # 4044c1 <__PRETTY_FUNCTION__.3081+0x71>
  403f4f:	31 c0                	xor    %eax,%eax
  403f51:	e8 ba cd ff ff       	callq  400d10 <printf@plt>
  403f56:	44 0f b7 63 02       	movzwl 0x2(%rbx),%r12d
  403f5b:	48 8b 0d 7e 10 20 00 	mov    0x20107e(%rip),%rcx        # 604fe0 <dstbuf@@Base-0x1a0>
  403f62:	8d 55 fc             	lea    -0x4(%rbp),%edx
  403f65:	48 8d 73 04          	lea    0x4(%rbx),%rsi
  403f69:	4c 89 f7             	mov    %r14,%rdi
  403f6c:	4d 89 e8             	mov    %r13,%r8
  403f6f:	e8 6c cd ff ff       	callq  400ce0 <idea_decrypt@plt>
  403f74:	66 41 c1 c4 08       	rol    $0x8,%r12w
  403f79:	48 8b 3d 60 10 20 00 	mov    0x201060(%rip),%rdi        # 604fe0 <dstbuf@@Base-0x1a0>
  403f80:	b9 ff 7f 00 00       	mov    $0x7fff,%ecx
  403f85:	45 0f b7 e4          	movzwl %r12w,%r12d
  403f89:	4c 89 fe             	mov    %r15,%rsi
  403f8c:	44 89 e2             	mov    %r12d,%edx
  403f8f:	e8 2c ce ff ff       	callq  400dc0 <lz4_decompress@plt>
  403f94:	85 c0                	test   %eax,%eax
  403f96:	7e 2a                	jle    403fc2 <decrypt+0xa2>
  403f98:	41 89 45 00          	mov    %eax,0x0(%r13)
  403f9c:	31 c0                	xor    %eax,%eax
  403f9e:	48 83 c4 08          	add    $0x8,%rsp
  403fa2:	5b                   	pop    %rbx
  403fa3:	5d                   	pop    %rbp
  403fa4:	41 5c                	pop    %r12
  403fa6:	41 5d                	pop    %r13
  403fa8:	41 5e                	pop    %r14
  403faa:	41 5f                	pop    %r15
  403fac:	c3                   	retq   
  403fad:	0f 1f 00             	nopl   (%rax)
  403fb0:	8d 52 ff             	lea    -0x1(%rdx),%edx
  403fb3:	48 8d 76 01          	lea    0x1(%rsi),%rsi
  403fb7:	e8 24 cd ff ff       	callq  400ce0 <idea_decrypt@plt>
  403fbc:	41 8b 45 00          	mov    0x0(%r13),%eax
  403fc0:	eb d2                	jmp    403f94 <decrypt+0x74>
  403fc2:	48 8d 3d 0d 05 00 00 	lea    0x50d(%rip),%rdi        # 4044d6 <__PRETTY_FUNCTION__.3081+0x86>
  403fc9:	e8 22 cd ff ff       	callq  400cf0 <puts@plt>
  403fce:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
  403fd3:	eb c9                	jmp    403f9e <decrypt+0x7e>

Disassembly of section .fini:

0000000000403fd8 <_fini>:
  403fd8:	48 83 ec 08          	sub    $0x8,%rsp
  403fdc:	48 83 c4 08          	add    $0x8,%rsp
  403fe0:	c3                   	retq   
